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() | 复制列表 |