“Python列表类型的操作”的版本间的差异

来自CloudWiki
跳转至: 导航搜索
(创建页面,内容为“==列表类型的操作== ===列表的操作函数=== *max()、min()函数用于返回列表中所有元素的最大值和最小值, *sum()函数用于返回列表…”)
 
第1行: 第1行:
==列表类型的操作==
+
==列表的操作函数==
===列表的操作函数===
 
 
*max()、min()函数用于返回列表中所有元素的最大值和最小值,
 
*max()、min()函数用于返回列表中所有元素的最大值和最小值,
 
*sum()函数用于返回列表中所有元素之和;
 
*sum()函数用于返回列表中所有元素之和;
第29行: 第28行:
 
11</nowiki>
 
11</nowiki>
  
===列表的操作方法===
+
==列表的操作方法==
====添加元素====
+
===添加元素===
 
*append()用于向列表尾部追加一个元素,insert()用于向列表任意指定位置插入一个元素
 
*append()用于向列表尾部追加一个元素,insert()用于向列表任意指定位置插入一个元素
 
  <nowiki>>>> x = [1, 2, 3]
 
  <nowiki>>>> x = [1, 2, 3]
第53行: 第52行:
 
[1, 1.5, 2, 3, 4, 5, 6]</nowiki>
 
[1, 1.5, 2, 3, 4, 5, 6]</nowiki>
  
====删除元素====
+
===删除元素===
 
*pop()用于删除并返回指定位置(默认是最后一个)上的元素;
 
*pop()用于删除并返回指定位置(默认是最后一个)上的元素;
 
*remove()用于删除列表中第一个值与指定值相等的元素;
 
*remove()用于删除列表中第一个值与指定值相等的元素;
第83行: 第82行:
 
>>> x.reverse()  </nowiki>
 
>>> x.reverse()  </nowiki>
  
====复制列表====
+
===复制列表===
 
*copy复制列表,而直接赋值的方法不产生新列表
 
*copy复制列表,而直接赋值的方法不产生新列表
  

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)
       
[]

列表是一个十分灵活的数据结构,当程序需要使用组合数据类型管理批量数据时,请尽量使用列表类型。