10 - 序列类型操作总结
字符串
1.查
-
使用下标或者切片
-
find、rfind、index:查找单个字符
2.改
- replace:替换字符串中指定的内容
- split:以指定字符串为分隔符切片
- upper、lower、capitalize、title:大小写转化
- rjust、ljust、center:补空白字符将字符串对齐
3.删
- strip:删除两端空白字符
4.增
- join:把参数进行遍历,取出参数里的每一项,然后再在每一项(除最后一项)后面加上指定字符(参数为序列)
- +:字符串的拼接
6.判断
- startswith、endswith
- isdigit、isalpha、isalnum、isspace、islower、isupper
列表
1.创建
- 列表名 = []、列表名 = [1,'str',[2,3],(1,),{'key':2},True]
2.查
- 下标和切片
- index
- 利用for和while来遍历
3.增
- append:添加单个元素
- extend:合并
- insert(index,object):在指定位置index前插入元素object
4.删
-
pop:按下标删除
-
remove:按元素的值或元素赋给的变量名删除
-
del,clear:del可根据指定下标删除也可全部删除
注意:删除时下标会变,找对方法
5.改
-
通过下标或切片直接赋值修改
-
join:将列表改为字符串
6.复制
- copy:复制后新生一个列表
- =:复制后共用一个地址
7.排序和逆序
- sort
- reverse
元组
1.创建
- tuple1 = ('a',)
2.查
- 根据下标或切片
- index
- 遍历
3.删
- del、clear:只能整体删除
字典
1.创建
- dict1 =
- fromkey:
dict.fromkeys(['a','b','c'],1),通过key来创建,所有key对应的value相同
2.查
-
字典名[key]:根据key查value
-
get(key):根据key查value
-
values:查所有vlaue
-
keys:查所有key
-
items:查所有(key,value) -- 每一键值对用元组存放
以上的
查所有返回的结果为列表 -
遍历key,value和(key,value):
for i in dict1:遍历所有key组成的列表for i in dict1.values():遍历所有value组成的列表for i in dict1.items():遍历(key,value) 以元组的形式成对for k,v in dict1.items():遍历key、value ----key存到k,value存到v
3.改
- 字典名[key] = value:通过key改对应value,但key一定要存在
4.增
- 变量名[key] = value:key不存在会新增
- setdefault(不常用):
dict1.setdefault(key,value) - update:合并
5.删
- pop:通过key删除
- popitem:默认从后往前删
- del:可通过key删除、也可删除全部
- clear
集合
1.创建
- set1 =
- set():只能用此方法创建空列表
2.查
- 无查询操作,因为不支持下标,切片等。需要转化为列表再查
3.增
- add:只支持添加单个元素,有则不操作
- update:元素类型可以是任意类型的
4.删
- discard:将元素移除
- remove:会报错
- pop:随机删除一个元素
- del,clear:只能删除整体
5.交、并、差集
- intersection
- union
- difference
共有的方法
1.计数
-
count:返回 指定字符或字符串在start和end之间在源字符串中出现的次数
注意:字典,集合没有count方法
-
len
2.判断存在某元素
- in、not in
2.各类型间的转化
-
列表、元组、集合间可以任意互转
-
字典转其他类型:可以转,但是只是将字典的键放到了
[](){},而值没有 -
其他类型转字典:类型中的元素必须成对才可以转,记忆特殊的即可
list ----> dict
特殊要求:
list1 = [('a',10),['b',20],{'c',30},['a',[1,2,3]]] #元素有元组、列表、集合类型。不能是字典类型 print(dict(list1)) #{'a': [1, 2, 3], 'b': 20, 'c': 30}说明:只要这种成对出现的类型都可以,但是唯独字典
{'d':1}不行,而且如果后面出现的key与前面有重复的,就会替换值
序列类型相关方法的补充
1.enumerate()
-
用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标
seasons = ['Spring', 'Summer', 'Fall', 'Winter'] list(enumerate(seasons)) #[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
2.zip()
-
用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
a = [1,2,3] b = [4,5,6] c = [4,5,6,7,8] zip(a,b) # [(1, 4), (2, 5), (3, 6)] 打包为元组的列表 zip(a,c) # [(1, 4), (2, 5), (3, 6)] 元素个数与最短的列表一致
3.reduce()
-
reduce() 函数会对参数序列中元素进行累积。函数将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给 reduce 中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,最后得到一个结果。
from functools import reduce def add(x, y) : # 两数相加 return x + y sum1 = reduce(add, [1,2,3,4,5]) # 计算列表和:1+2+3+4+5 sum2 = reduce(lambda x, y: x+y, [1,2,3,4,5]) # 使用 lambda 匿名函数 print(sum1) #15 print(sum2)

浙公网安备 33010602011771号