00103 python字符串操作总结【更新中】
程序员文章站
2022-07-05 11:07:03
...
- 倒序排列字符串:str[::-1]
- str[::2]:隔一个取一个字符——'abcde'[::2] >>>'ace'
- 字符串切片:用切片操作符
[a:b]:截取索引为a到b-1的字符
[:a]:索引为0到a-1的字符
[:5]:截取前五个字符
[:-5]:截取从第一个到倒数第五个字符(注意这种写法也是可以的)
[a]:截取索引为a的字符
- 分割字符串,并将分割结果放在一个列表里返回:str.split("x")
-
- x是用来分隔的识别符,可以是标点符号,字母,默认值是空格
- 被用来当作分隔符的字符会被忽略,不显示在结果中
- 将列表元素拼接成字符串:'x'.join(list_name)
-
- x是拼接符号,如果不给出的话,就直接拼起来
- 字符串替换:
-
- str.replace('a','b')
-
- 会将str中所有的a都替换成b
- a和b必须都是字符串对象,可以是变量
- 大小写转换:
-
- 大写变小写:str.lower()
- 小写变大写:str.upper()
- 首字母大写:str.capitalize() ——同时会默认将其他字母都变成小写
- 字符串中每个单词的首字母大写:str.title() ——同时会默认将其他字母都变成小写
- 大小写判断:返回True/False
-
- 判断是否为全部大写:str.isupper()
- 判断是否为全部小写:str.isfloor()
- 判断是否为全部大写:str.istitle()
#slice test
t=[0,1,2,3,4,5,6,7,8,9]
print t[:] >>>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print t[1:] >>>[1, 2, 3, 4, 5, 6, 7, 8, 9] #[a:]从a开始切
print t[:1] >>>[0] #[:a]切到a-1
print t[1:3] >>>[1, 2] #[a:b]从a切到b-1
print "-------------------------------"
print t[::3] >>>[0, 3, 6, 9] #第二个冒号之后跟的是取数频率
print t[::2] >>>[0, 2, 4, 6, 8]
print t[1::2] >>>[1, 3, 5, 7, 9] #第一个冒号是取数区间,还是想怎么写都行
print t[1::3] >>>[1, shu, 7] #能看出来顺序是先切片再按频率取数
print "-------------------------------"
print t[::-1] >>>[9, 8, 7, 6, 5, 4, 3, 2, 1, 0] #这是反向序列
print t[1::-1] >>>[1, 0] #不是先切片再反向,也不是先反向再切片
print t[:2] >>>[0, 1] #上面的结果是这个的反向
#感觉这里似乎只能理解为,:-1对整个[1:]都做了一个反向,从而导致它本来应该从第二个数切到最后一个数,反向之后就变成了从第一个数切到第二个数了
print t[1::-2] >>>[1] #-2应该是对[1,0]从后到前按2为频率取数
#:-2就可以拆分成-和2来理解,-对整个[1:]都做了一个反向,取出[0,1]后再反向变成[1,0],然后2按频率倒向取出了1
#对上述理解方式再验证
print t[:4] >>>[0, 1, 2, 3]
print t[3::-1] >>>[3, 2, 1, 0]
print t[4:] >>>[4, 5, 6, 7, 8, 9]
print t[:3:-1] >>>[9, 8, 7, 6, 5, 4]