Python 列表 List

列表(List)是一种有序序列,它是 Python 中非常常用的一种基本数据类型。但和其他语言的数组不同,Python 列表中的元素类型可以不同。比如,同一个列表中可以包含数字、字符串等多种数据类型。

序列中的每个元素都有一个相应的位置,或者说是索引,第一个索引是 0,第二个索引是 1,依此类推。所有序列都具有的操作有:索引、切片、加、乘,以及检查成员等等。此外,Python 内置的 len()max()min() 函数,可分别求取序列的长度以及确定最大和最小的元素。

创建与删除

列表使用方括号([])表示,使用逗号分隔各元素。例如:

list1 = [1, 2, 3, 4, 5, 6]
list2 = ['Python', 123, 7.25]

与字符串的索引一样,列表索引从 0 开始,列表可以进行截取、组合。例如:

>>> list1 = [1, 2, 3, 4, 5, 6]
>>> list1[1]
1
>>> list1[-1]
6
>>> list1[2:]
[3, 4, 5, 6]
>>> list2 = ['Python', 123, 7.25]
>>> list1 + list2
[1, 2, 3, 4, 5, 6, 'Python', 123, 7.25]

当我们不需要某个列表对象时,可以使用 del 语句删除其引用。例如:

del list1, list2

更新列表

Python 中的列表元素是可以任意修改的,常见的修改方法是使用下标索引对列表的数据项进行修改。

>>> p = ['PEK', 28, 'Li Bai']
>>> p[1]= 22
>>> p
['PEK', 22, 'Li Bai']

另外,也可以使用 append() 方法来添加列表项。例如:

>>> p = ['PEK', 28, 'Li Bai']
>>> p.append('Tsinghua')
>>> p
['PEK', 28, 'Li Bai', 'Tsinghua']
>>> 

如果不需要某个列表元素,可以使用 del 语句来删除它。例如:

>>> p = ['PEK', 28, 'Li Bai', 'Tsinghua']
>>> del p[2]
>>> p
['PEK', 28, 'Tsinghua']
>>> del p[2]
>>> p
['PEK', 28]

列表操作符

Python 可以使用运算符 +* 操作列表,作用与字符串相似。其中,+ 符用于组合列表,* 符用于重复列表。

Python 表达式 结果 描述
len( [1, 3, 5] ) 3 长度
[1, 3, 5] + [2, 4, 6] [1, 2, 3, 4, 5, 6] 组合
['Ys'] * 4 ['Ys', 'Ys', 'Ys', 'Ys'] 重复
3 in [1, 3, 5] True 元素是否存在于列表中
for x in [1, 3, 5]: print (x) 1 3 5 迭代

嵌套列表

如果列表中的元素还是列表,那么就称为“嵌套列表”。例如:

>>> l1 = ['a', 'b', 'c']
>>> l2 = [1, 3, 5, 7]
>>> l = [l1, l2]
>>> l
[['a', 'b', 'c'], [1, 3, 5, 7]]
>>> l[0]
['a', 'b', 'c']
>>> l[0][1]
'b'

列表操作函数

下表列出可以应用于列表的 Python 内置函数。

函数 描述
cmp(list1, list2) 比较两个列表的元素
len(list) 列表元素个数
max(list) 返回列表元素最大值
min(list) 返回列表元素最小值
list(seq) 将元组转换为列表

列表成员方法

下表列出了 Python 列表的成员方法。

方法 描述
list.append(obj) 在列表末尾添加新的对象
list.count(obj) 统计某个元素在列表中出现的次数
list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
list.index(obj) 从列表中找出某个值第一个匹配项的索引位置
list.insert(index, obj) 将对象插入列表
list.pop(obj=list[-1]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
list.remove(obj) 移除列表中某个值的第一个匹配项
list.reverse() 反向列表中元素
list.sort(func) 对原列表进行排序
list.clear() 清空列表
list.copy() 复制列表

Leave a Reply