跳至主要內容

列表

刘春龙原创...大约 4 分钟Python教程文档

列表:用于存储任意数目、任意类型的数据集合。

列表是内置可变序列,是包含多个元素的有序连续的内存空间。列表的标准语法格式:a = [10,20,30,40],其中,10,20,30,40 这些称为:列表 a 的元素。

列表中的元素可以各不相同,可以是任意类型。比如:a = [10,20,'abc',True]

Python 的列表大小可变,根据需要随时增加或缩小。

列表对象的常用方法:

方法要点描述
list.append(x)增加元素将元素 x 增加到列表 list 尾部
list.extend(aList)增加元素将列表 alist 所有元素加到列表 list 尾部
list.insert(index,x)增加元素在列表 list 指定位置 index 处插入元素 x
list.remove(x)删除元素在列表 list 中删除首次出现的指定元素 x
list.pop([index])删除元素删除并返回列表 list 指定为止 index 处的元素,默认是最后一个元素
list.clear()删除所有元素删除列表所有元素,并不是删除列表对象
list.index(x)访问元素返回第一个 x 的索引位置,若不存在 x 元素抛出异常
list.count(x)计数返回指定元素 x 在列表 list 中出现的次数
len(list)列表长度返回列表中包含元素的个数
list.reverse()翻转列表所有元素原地翻转
list.sort()排序所有元素原地排序
list.copy()浅拷贝返回列表对象的浅拷贝
创建列表

使用[]创建

a = [10,20,'gaoqi','sxt']
b = []  #创建一个空的列表对象
print(a)

列表元素的添加

append()方法

原地修改列表对象,是真正的列表尾部添加新的元素,速度最快,推荐使用。

a = [20,40]
a.append(80)
print(a)    #结果:[20, 40, 80]

extend()方法

将目标列表的所有元素添加到本列表的尾部,属于原地操作,不创建新的列表对象。

a = [20,40]
print(id(a))
b = [50,60]
a.extend(b)   #原对象修改
print(id(a))
a = a+b     #产生新对象
print(id(a))

insert()插入元素

使用 insert()方法可以将指定的元素插入到列表对象的任意制定位置。这样会让插入位置后面所有的元素进行移动,会影响处理速度。涉及大量元素时,尽量避免使用。类似发生这种移动的函数还有:remove()、pop()、del(),它们在删除非尾部元素时也会发生操作位置后面元素的移动。

a = [10,20,30]
a.insert(2,100)
print(a)   #结果:[10, 20, 100, 30]

乘法扩展

使用乘法扩展列表,生成一个新列表,新列表元素是原列表元素的多次重复。

a = ['jiamei',100]
b = a*3
print(a) #结果:['jiamei', 100]
print(b) #结果:['jiamei', 100, 'jiamei', 100, 'jiamei', 100]

列表元素的删除

del 删除

删除列表指定位置的元素。

a = [100,200,888,300,400]
del a[2]
print(a)   #结果:[100,200,300,400]

pop()方法

pop()删除并返回指定位置元素,如果未指定位置则默认操作列表最后一个元素。

a = [10,20,30,40,50]
b1 = a.pop()   #结果:b1=50
print(a,b1)  #结果:[10, 20, 30, 40]  50
b2 = a.pop(1)
print(a,b2)  #结果:[10, 30, 40],20

remove()方法

删除首次出现的指定元素,若不存在该元素抛出异常。

a = [10,20,30,40,50,20,30,20,30]
a.remove(20)  #[10, 30, 40, 50, 20, 30, 20, 30]
a.remove(100)  #报错:ValueError:list.remove(x): x not in list

列表元素访问和计数

通过索引直接访问元素

我们可以通过索引直接访问元素。索引的区间在[0, 列表长度-1]这个范围。超过这个范围则会抛出异常。

a = [10,20,30,40,50,20,30,20,30]
print(a[2]) #结果:30
print(a[10]) #报错:IndexError: list index out of range

index()获取索引

index()可以获取指定元素首次出现的索引位置。语法是:index(value,[start,[end]])。其中,start 和 end 指定了搜索的范围。

a = [10,20,30,40,50,20,30,20,30]
a.index(20)  #结果:1
a.index(20,3) #结果:5   从索引位置3开始往后搜索的第一个20
a.index(30,5,7) #结果:6  从索引位置5到7这个区间,第一次出现30元素的位置

count()获得出现次数

count()可以返回指定元素在列表中出现的次数

a = [10,20,30,40,50,20,30,20,30]
a.count(20)
3

len()返回列表长度

len()返回列表长度,即列表中包含元素的个数。

a = [10,20,30]
len(a) # 3

成员资格判断

判断列表中是否存在指定的元素,我们可以使用 count()方法,返回 0 则表示不存在,返回大于 0 则表示存在。但是,一般我们会使用更加简洁的 in 关键字来判断,直接返回 True 或 False

a = [10,20,30,40,50,20,30,20,30]
20 in a  # True
100 not in a # True
30 not in a # False
上次编辑于:
贡献者: 刘春龙
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.7