持续更新
文章目录
字符串
index()、rindex()、count()
index()返回一个字符串在当前字符串中首次出现的位置,如果当前字符串中不存在此字符串,则抛出异常;
rindex()用来返回一个字符串在当前字符串中最后一次出现的位置;
count()用来统计一个字符串在当前字符串中出现的次数。
text='处处飞花飞处处,声声笑语笑声声'
print(text.index('处'))
print(text.rindex('声'))
print(text.count('笑'))
0
14
2
replace()、maketrans()、translate()
replace()替换指定字符或子字符串的所有重复出现;
maketrans()用来生成字符映射表;
translate()根据映射表转换字符。
text='python is good.'
print(text.replace('p','P').replace('good','best'))
# Python is best.
table=''.maketrans('0123456789','零壹贰叁肆伍陆柒捌玖')
print('Tel:1008611'.translate(table))
# Tel:壹零零捌陆壹壹
ljust()、rjust()、cente()
文本分别居左、居右、居中。
print('文本居左'.ljust(20)+'!')
print('文本居中'.center(20)+'!')
print('文本居右'.rjust(20)+'!')
'''
文本居左 !
文本居中 !
文本居右!
'''
split()、rsplit()、join()
split()使用指定的字符串作为分割符,如不指定则默认为空格、换行符、制表符等空白字符。
rsplit()从右向左进行分割
join()使用指定字符串作为连接符
text='Beautiful is better than ugly.'
print(text.split()) # 使用空白字符进行分割
print(text.split(maxsplit=1)) # 最多分割一次
print(text.split(maxsplit=2)) # 最多分割两次
print('1,2,3,4'.split(',')) # 使用逗号进行分割
print(','.join(['1','2','3','4'])) # 使用逗号进行连接、
print(':'.join(map(str,range(1,5)))) # 使用冒号进行连接
print(''.join(map(str,range(1,5)))) # 直接连接不接连接符
'''
['Beautiful', 'is', 'better', 'than', 'ugly.']
['Beautiful', 'is better than ugly.']
['Beautiful', 'is', 'better than ugly.']
['1', '2', '3', '4']
1,2,3,4
1:2:3:4
1234
'''
lower()、upper()、capitalize()、title()、swapcase()
text='explicit is Better thAn implicit.'
print(text.lower()) # 全部转换为小写
print(text.upper()) # 全部转换为大写
print(text.capitalize()) # 句首字母转为大写
print(text.title()) # 每个单词首字母转换为大写
print(text.swapcase()) # 所有字母大写转换为小写,小写转换为大写
startswith()、endswith()
测试字符串是否以指定的一个或几个字符串开始或结束。
text='Python is good!'
print(text.startswith('python')) # False
print(text.startswith('Python')) # True
print(text.endswith(('!','.','?'))) # True
strip()、rstrip()、lstrip()
text=' ======test==== =# '
print(text.strip()) # 删除两侧的空白字符
print(text.rstrip()) # 删除右侧的空白字符
print(text.lstrip()) # 删除左侧的空白字符
print(text.strip('=# ')) # 删除两侧的=、#和空格
======test==== =#
======test==== =#
======test==== =#
test
sorted() 排序
from random import shuffle
data=list(range(20))
shuffle(data) # 随机打乱顺序
print(data)
print(sorted(data)) # 升序排序
print(sorted(data,key=str)) #按转换成字符串后的大小升序排序
print(sorted(data,key=str,reverse=True)) # 降序排序
[2, 11, 19, 6, 17, 15, 12, 9, 3, 16, 0, 10, 13, 18, 1, 14, 4, 7, 5, 8]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
[0, 1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2, 3, 4, 5, 6, 7, 8, 9]
[9, 8, 7, 6, 5, 4, 3, 2, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 1, 0]
reversed() 翻转
reversed 对象具有惰性求值特点,其中的元素只能使用一次,不支持用内置函数len()计算元素个数,也不支持使用内置函数reversed()再次翻转。
from random import shuffle
data=list(range(20))
shuffle(data) # 随机打乱顺序
print(data)
reversedData=reversed(data) # 生成reversed对象
print(reversedData)
print(list(reversedData)) # 根据reversed对象得到列表
print(tuple(reversedData)) # 空元组,reversed对象中元素只能使用一次
[1, 10, 4, 2, 3, 7, 18, 14, 12, 16, 6, 11, 8, 13, 9, 19, 15, 17, 0, 5]
<list_reverseiterator object at 0x00000205572967C8>
[5, 0, 17, 15, 19, 9, 13, 8, 11, 6, 16, 12, 14, 18, 7, 3, 2, 4, 10, 1]
()
append()、insert()、extend()
lista=[1,2,3,4]
lista.append(5) # 向列表添加元素
lista.insert(5,6) # 向列表插入元素
lista.extend([7,8]) # 将另一个列表中的所有元素追加到当前列表的尾部
print(lista)
[1, 2, 3, 4, 5, 6, 7, 8]
pop()、remove()
lista=[1,2,3,4]
print(lista.pop()) # 默认 删除列表中最后一个元素,并返回这个删除的值
print(lista)
print(lista.pop(1)) # 删除位置1上的元素,并返回位置1的元素
print(lista)
lista.remove(3) # 删除元素3 (3是元素不是位置),该方法没有返回值
print(lista)
4
[1, 2, 3]
2
[1, 3]
[1]