“Python列表类型的操作”的版本间的差异
来自CloudWiki
(创建页面,内容为“==列表类型的操作== ===列表的操作函数=== *max()、min()函数用于返回列表中所有元素的最大值和最小值, *sum()函数用于返回列表…”) |
(没有差异)
|
2020年1月31日 (五) 08:40的版本
列表类型的操作
列表的操作函数
- max()、min()函数用于返回列表中所有元素的最大值和最小值,
- sum()函数用于返回列表中所有元素之和;
- len()函数用于返回列表中元素个数,zip()函数用于将多个列表中元素重新组合为元组并返回包含这些元组的zip对象;
- enumerate()函数返回包含若干下标和值的迭代对象;
- map()函数把函数映射到列表上的每个元素,filter()函数根据指定函数的返回值对列表元素进行过滤;
- all()函数用来测试列表中是否所有元素都等价于True,any()用来测试列表中是否有等价于True的元素。
- 标准库functools中的reduce()函数以及标准库itertools中的compress()、groupby()、dropwhile()等大量函数也可以对列表进行操作。
>>> x = list(range(11)) #生成列表 >>> import random >>> random.shuffle(x) #打乱列表中元素顺序 >>> x [0, 6, 10, 9, 8, 7, 4, 5, 2, 1, 3] >>> all(x) #测试是否所有元素都等价于True False >>> any(x) #测试是否存在等价于True的元素 True >>> max(x) #返回最大值 10 >>> max(x, key=str) #按指定规则返回最大值 9 >>> min(x) 0 >>> sum(x) #所有元素之和 55 >>> len(x) #列表元素个数 11
列表的操作方法
添加元素
- append()用于向列表尾部追加一个元素,insert()用于向列表任意指定位置插入一个元素
>>> x = [1, 2, 3] >>> x.append(4) #在尾部追加元素
append仅用于增加一个元素,如果希望增加多个元素,可以使用加号,将两个列表合并:
>>> ls =[1,2,3] >>> lt =[4,5,6] >>> ls = ls + lt >>> print(ls) [1, 2, 3, 4, 5, 6]
insert(i,x)在列表ls中序号i位置上增加元素x,序号i之后的元素序号依次增加。
>> print(ls) [1, 2, 3, 4, 5, 6] >>> ls.insert(1,1.5) >>> print(ls) [1, 1.5, 2, 3, 4, 5, 6]
删除元素
- pop()用于删除并返回指定位置(默认是最后一个)上的元素;
- remove()用于删除列表中第一个值与指定值相等的元素;
- clear()用于清空列表中的所有元素。这3个方法也属于原地操作
>>> x = [1, 2, 3, 4, 5, 6, 7] >>> x.pop() #弹出并返回尾部元素 7 >>> x.pop(0) #弹出并返回指定位置的元素 1 >>> x.clear() #删除所有元素 >>> x [] >>> x = [1, 2, 1, 1, 2] >>> x.remove(2) #删除首个值为2的元素 >>> del x[3] #删除指定位置上的元素 >>> x [1, 1, 1]
- 列表对象的sort()方法用于按照指定的规则对所有元素进行排序;reverse()方法用于将列表所有元素逆序或翻转。
>>> x = list(range(11)) #包含11个整数的列表 >>> import random >>> random.shuffle(x) #把列表x中的元素随机乱序 >>> x [6, 0, 1, 7, 4, 3, 2, 8, 5, 10, 9] >>> x.sort() #按默认规则排序 >>> x [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >>> x.reverse()
复制列表
- copy复制列表,而直接赋值的方法不产生新列表
>>> x = list(range(11)) >>> y = x.copy() >>> x.clear() >>> print(y) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> x = list(range(11)) >>> y = x >>> x.clear() >>> print(y) []
列表是一个十分灵活的数据结构,当程序需要使用组合数据类型管理批量数据时,请尽量使用列表类型。