Python列表操作总结
列表 | a_list=[1,2,3,4] | ||
特点 | 有序 | 可变 | |
连续的内存空间,最好从尾部进行元素的增加与删除 | |||
列表的创建 | a_list=[1,2,3,4] | a_list=list((3,5,7,9,11)) | |
a_list=[5 for I in range(10)] | 列表推导式 | ||
[I for I in a_list if i>0] | |||
list(a) | 转化成列表 | ||
列表元素的增加 | a_list.append(9) | 真正意义上的在列表尾部添加元素,但是+ 是创建新列表 | |
a_list.insert(3,6) | 把a_list.insert(index,object) Insert object before index 元素插入到指定位置 | ||
a.extend([7,8,9]) | 将另一个迭代对象的所有元素添加至该列表对象的尾部 | ||
a=a*3 | 将列表中的所有元素重复了3次,但是这实际上是产出了一个新列表,并使a指向了新的列表 | ||
a[len(a):]=[7] | 使用切片为列表增加元素,切片表示开始的位置为len(a) | ||
列表元素的删除 | del a[0] | 按照索引删除 | |
a.pop() a.pop(1) | 删除并返回指定位置上的元素,默认为最后一个位置 | ||
a[len(a)-1:]=[] | 使用切片,删除最后一个元素 | ||
a[1:3]=[] | 使用切片,删除1,2 两个元素 | ||
a.remove(7) | 删除首次出现的指定元素 坑: 删除列表中指定元素的所有重复要从后往前删 | 按照值删除 | |
列表元素的访问 | a[1] | ||
a.index(7) | 获取指定元素首次出现的下标 | ||
b=a[1:10:2] | 使用切片访问元素,切片用在等号右边,返回列表的浅复制 | ||
列表的遍历 | for i in a: print(i) | 使用元素直接访问 | |
for i in range(len(a)): print(a[i]) | 使用下标访问 | ||
a=[0,1,2] for item in enumerate(a): print(item) (0,0) (1,1) (2,2) | 枚举列表,返回枚举对象,枚举对象中的每个元素是由下标和元素值组成的元组 | ||
列表元素的修改 | a[2]=3 | ||
a[1:3]=[7,7] | 使用切片修改元素 | ||
列表常用操作 | |||
计数 | a.count(7) | 指定元素在列表中出现的次数 | |
求长度 | len(a) | ||
求最值 | max(a) min(a) | ||
求和 | sum(a) | ||
比较列表大小 | [1,2,3,5]<[1,2,4,] True | 只比第一个不同的元素 | |
[1,2]<[1,2,3] | 多了一个元素也认为是大 | ||
列表组合 | a=[1,2,3] b=[4,5,6] list(zip(a,b)) [(1,4),(2,5),(3,6)] | 将列表或元组对应位置的元素组合成元组,并返回包含这些元组的zip对象,里面是一个个元组 | |
列表排序 | a.sort() | 原地升序排列 | |
a.sort(reverse=True) | 原地降序排列 | ||
a.sort(key=lambda x:len(str(x))) | 自定义排序 | ||
sorted(a) | 内置函数排序,返回新列表,不对原列表进行修改 | ||
sorted(a,reverse=True) | 降序排列 |