Python内置数据结构——字符串

知识结构图

Python内置数据结构——字符串

学习笔记

字符串

字符组成的有序序列,字符的集合

使用单引号、双引号、三引号引起来的字符序列

不可变对象

Unicode类型

定义

单引号、双引号、三引号

r、R:引号内的字符原样输出

元素访问

索引访问

可迭代

join连接

string“.join(iteratable)

使用string作为分隔符将可迭代对象连接起来

可迭代对象本身元素都是字符串

返回一个新的字符串

+

2个字符串链接在一起

返回一个新的字符串

分割

split

将字符串按照分隔符分割成若干字符串,并返回列表

split(sep=None,maxsplit=-1)

从左至右

sep指定分割字符串,缺省为空白字符串

maxsplit指定分割的次数,-1表示遍历整个字符串

rsplit(sep=None,maxsplit=-1)

从右至左

sep指定分割字符串,缺省为空白字符串

maxsplit指定分割的次数,-1表示遍历整个字符串

splitline([keepends])

按照行来切分字符串

keepends指的是是否保留行分隔符(\n、\r\n、\r)

partition

将字符串按照分隔符分割成2段,返回这2段和分隔符的元组

partition(sep) -> (head, sep, tail)

从左至右,能找到分隔符则返回头、分隔符、尾的三元组,否则分会头、2个空元素的三元组

sep为分割字符串,必须指定

rpartition(sep) -> (head, sep, tail)

从右至左,同partition

大小写转换

upper():全大写

lower():全小写

swapcase():大小写交换

排版

title():标题的每个单词词首大写

capitalize():首个单词大写

center(width[,fillchar]):指定width宽度,使用fillchar填充

zfill(width):打印宽度,居右,左边使用0填充

ljust(width[,fillchar]):左对齐

rjust(width[,fillchar]):右对齐

修改

replace(old,new[,count]):字符串中找到匹配子串替换为新子串,返回新的字符串,count表示替换的次数,默认全部替换

strip([chars]):从字符串两端去除指定字符集chars中的所有字符,不指定chars默认去除空白字符

lstrip([chars]):只去除左端

rstrip([chars]):只去除右端

查找

find(sub[,start[,end]]):在指定区间[start,end)从左至右查找子串sub,找到返回索引,没有则返回-1

rfind(sub[,start[,end]]):从右至左

index(sub[,start[,end]]):在指定区间[start,end)从左至右查找子串sub,找到返回索引,没有则抛出ValueError

rindex(sub[,start[,end]]):从右至左

时间复杂度O(n)

len(string):字符串长度

count(sub[,start[,end]]):在指定区间[start,end)从左至右统计子串sub出现的次数

判断

endswith(suffix,[start[,end]]):在指定区间,字符串是否以suffix结尾

startswith(prefix,[start[,end]])

isalnum()

isalpha()

isdecimal():十进制

isdigit()

isidentifier():是否是标识符,字母下划线开头

islower()

isupper()

isspace()

格式化

format函数

“{}{xxx}”.format(*args,**kwargs)

args:位置参数,是一个元组

kwargs:关键字参数,是一个字典

{}:占位符

{}:按顺序匹配位置参数

{n}:按索引为n的参数

{xxx}:在关键参数中搜索名称一致的

{{}}:打印{}

位置参数

‘{}{}’.format(arg1,arg2):按照位置顺序用位置参数替代前面的字符串中的占位符

关键字参数或命名参数

‘{kw1}{}{kw2}’.format(arg1,kw1=’kwarg1′,kw2=’kwarg2′):位置参数按照序号匹配,关键字参数按照名称匹配

对齐

<:向左对齐

>:向右对齐

>0n:字符数不够,前面使用0补齐

^:居中对齐

x^:两端使用x补齐

进制

“int: {0:d}; hex: {0:x}; oct: {0:o}; bin: {0:b}”.format(42)

“int: {0:d}; hex: {0:#x}; oct: {0:#o}; bin: {0:#b}”.format(42)

                                

    

原创文章,作者:ZBD20,如若转载,请注明出处:http://www.178linux.com/94042

(0)
ZBD20ZBD20
上一篇 2018-03-31
下一篇 2018-03-31

相关推荐

  • Python的内置数据结构

    字符串、列表、元组

    Python笔记 2018-03-31
  • Python 部分知识点总结(二)

    此篇博客只是记录第四周未掌握或不熟悉的知识点,用来加深印象。

    Python笔记 2018-03-30
  • 高阶函数

    高阶函数 Frist class object 函数在python中是一等公民 函数也是对象,可调用的对象 函数可以作为普通变量,参数,返回值等等 数学概念y=g(f(x)) 在数学和计算机科学中,高阶函数应当是至少满足下面一个条件的函数 接受一个或者多个函数作为参数 输出一个函数 计数器: def counter(base):def inc(step=1)…

    Python笔记 2018-04-23
  • 解析式

    列表解析式和字典解析式 datetime模块 对日期,时间,时间戳的处理 datetime类 today()返回本地时区当前的datetime对象 now(tz=None)返回当前时间的datetime对象,时间到微秒,如果tz为None,返回和today()一样 utcnow()没有时区的当前时间 fromtimestamp(timestamp,tz=Zo…

    2018-04-09
  • Python 部分知识点总结(六)

    此篇博客只是记录第八周未掌握或不熟悉的知识点,用来加深印象。

    Python笔记 2018-05-02
  • 封装与解构 集合

    封装和解构 封装:将多个值进行分割,结合在一起,本质上返回元组,只是省掉了小括号 ‘==‘意思为内容一致,‘=’意思为内存空间一致 解构:把线性结构的元素解开,并顺序的赋值给其他变量,左边接纳的变量数要和左边解开的元素数量一致 集合不是非线性 解构中使用*变量名接收,但不能单独使用,被*变量名收集后组成一个列表 第一个下划线为9,结果被第二个下划线重新赋值为…

    Python笔记 2018-04-01