Python 3 列表 ( List )
Python 列表是序列的一种,是 Python 3 语言中最常用的数据结构
序列
序列是 Python 中最基本的数据结构
序列中的每个元素都有一个相应的位置,或者说是索引,第一个索引是 0,第二个索引是 1,依此类推
所有序列都具有的操作有:索引,切片,加,乘,检查成员
此外,Python 内置的 len() 、max() 和 min() 函数可以分别求取序列的长度以及确定最大和最小的元素
Python 有 6 个序列的类型,最常见的列表和元组是其中的两种
列表
Python 列表中的元素可以是任意类型,不要求都具有相同的类型
创建列表
创建一个列表,只要把 逗号( , ) 分隔的不同的数据项使用 方括号( [] ) 括起来即可
>>> p1 = ['PEK', 28, 'Li Bai', 'Tsinghua'] >>> p1 ['PEK', 28, 'Li Bai', 'Tsinghua'] >>> p2 = [1,3,5,7,9] >>> p2 [1, 3, 5, 7, 9] >>> p3 = ['A','B','C','D'] >>> p3 ['A', 'B', 'C', 'D']
与字符串的索引一样,列表索引从 0 开始,列表可以进行截取、组合
'] >>> p1 = ['PEK', 28, 'Li Bai', 'Tsinghua'] >>> p1[1] 28 >>> p1[-1] 'Tsinghua' >>> p1[2:] ['Li Bai', 'Tsinghua'] >>> p2 = ['zh-CN'] >>> p1 + p2 ['PEK', 28, 'Li Bai', 'Tsinghua', 'zh-CN'] >>>
访问列表中的值
列表中使用下标索引来访问列表中的值,还也可以使用方括号的形式截取元素
>>> p1 = ['PEK', 28, 'Li Bai', 'Tsinghua'] >>> p1[1] 28 >>> p1[-1] 'Tsinghua' >>> p1[2:] ['Li Bai', 'Tsinghua']
更新列表
可以使用下标对列表的数据项进行修改或更新
>>> 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 可以使用运算符 +
和 *
的操作符与字符串相似
+
号用于组合列表
*
号用于重复列表
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 | 迭代 |
范例
>>> p = ['PEK', 28, 'Li Bai', 'Tsinghua'] >>> p[2] 'Li Bai' >>> p[-2] 'Li Bai' >>> p[1:] [28, 'Li Bai', 'Tsinghua']
说明
Python 表达式 | 结果 | 描述 |
---|---|---|
p[2] | 'Li Bai' | 读取列表中第三个元素 |
p[-2] | 'Li Bai' | 读取列表中倒数第二个元素 |
p[1:] | [28, 'Li Bai', 'Tsinghua'] | 从第二个元素开始截取列表 |
嵌套列表
嵌套列表就是列表的元素还可以是列表
>>> 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 列表函数
下表列出可以应用于列表的 Python 内置函数
函数 | 描述 |
---|---|
cmp(list1, list2) | 比较两个列表的元素 |
len(list) | 列表元素个数 |
max(list) | 返回列表元素最大值 |
min(list) | 返回列表元素最小值 |
list(seq) | 将元组转换为列表 |
Python 列表方法
下表列出了 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() | 复制列表 |