list是一种有序可重复的集合,可以随时添加和删除其中的元素。
序列是Python中最基本的数据结构。
序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。
列表的数据项不需要具有相同的类型
创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:
1list1 = ['Google','Runoob',1997,2000];
2list2 = [1,2,3,4,5];
3list3 = ["a","b","c","d"];
与字符串的索引一样,列表索引从0开始。列表可以进行截取、组合等。
访问列表中的值
使用下标索引来访问列表中的值,同样你也可以使用方括号的形式截取字符,如下所示:
1 #!/usr/bin/python3
2
3list1 = ['Google','Runoob', 1997, 2000];
4list2 = [1, 2, 3, 4, 5, 6, 7 ];
5
6 print("list1[0]: ", list1[0])
7 print("list2[1:5]: ", list2[1:5])
以上实例输出结果:
1list1[0]: Google
2list2[1:5]: [2, 3, 4, 5]
更新列表
你可以对列表的数据项进行修改或更新,你也可以使用append()方法来添加列表项,如下所示:
1 #!/usr/bin/python3
2
3list = ['Google','Runoob', 1997, 2000]
4
5 print("第三个元素为 : ", list[2])
6list[2] = 2001
7 print("更新后的第三个元素为 : ", list[2])
以上实例输出结果:
1第三个元素为 : 1997
2更新后的第三个元素为 : 2001
1>>> names
2['Alex','Tenglan','Eric','Rain','Tom','Amy']
3>>> names.append("我是新来的")
4>>> names
5['Alex','Tenglan','Eric','Rain','Tom','Amy','我是新来的']
1>>> names
2['Alex','Tenglan','Eric','Rain','Tom','Amy','我是新来的']
3>>> names.insert(2,"强行从Eric前面插入")
4>>> names
5['Alex','Tenglan','强行从Eric前面插入','Eric','Rain','Tom','Amy','我是新来的']
6
7>>> names.insert(5,"从eric后面插入试试新姿势")
8>>> names
9['Alex','Tenglan','强行从Eric前面插入','Eric','Rain','从eric后面插入试试新姿势','Tom','Amy','我是新来的']
1>>> names
2['Alex','Tenglan','强行从Eric前面插入','Eric','Rain','从eric后面插入试试新姿势','Tom','Amy','我是新来的']
3>>> names[2] ="该换人了"
4>>> names
5['Alex','Tenglan','该换人了','Eric','Rain','从eric后面插入试试新姿势','Tom','Amy','我是新来的']
删除列表元素
可以使用 del 语句来删除列表的的元素,如下实例:
1 #!/usr/bin/python3
2
3list = ['Google','Runoob', 1997, 2000]
4
5 print(list)
6 dellist[2]
7 print("删除第三个元素 : ", list)
以上实例输出结果:
1['Google','Runoob', 1997, 2000]
2删除第三个元素 : ['Google','Runoob', 2000]
1>>>delnames[2]
2>>> names
3['Alex','Tenglan','Eric','Rain','从eric后面插入试试新姿势','Tom','Amy','我是新来的']
4>>>delnames[4]
5>>> names
6['Alex','Tenglan','Eric','Rain','Tom','Amy','我是新来的']
7>>>
8>>> names.remove("Eric")#删除指定元素
9>>> names
10['Alex','Tenglan','Rain','Tom','Amy','我是新来的']
11>>> names.pop()#删除列表最后一个值
12 '我是新来的'
13>>> names
14['Alex','Tenglan','Rain','Tom','Amy']
Python列表脚本操作符
列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。如下所示:
Python列表截取与拼接
Python的列表截取与字符串操作类型,如下所示:
1L=['Google','Runoob','Taobao']
操作:
1>>>L=['Google','Runoob','Taobao']
2>>> L[2]
3 'Taobao'
4>>> L[-2]
5 'Runoob'
6>>> L[1:]
7['Runoob','Taobao']
8>>>
列表还支持拼接操作:
1>>>squares = [1, 4, 9, 16, 25]
2>>> squares + [36, 49, 64, 81, 100]
3[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
嵌套列表
使用嵌套列表即在列表里创建其它列表,例如:
1>>>a = ['a','b','c']
2>>> n = [1, 2, 3]
3>>> x = [a, n]
4>>> x
5[['a','b','c'], [1, 2, 3]]
6>>> x[0]
7['a','b','c']
8>>> x[0][1]
9 'b'
扩展
1>>> names
2['Alex','Tenglan','Rain','Tom','Amy']
3>>> b = [1,2,3]
4>>> names.extend(b)
5>>> names
6['Alex','Tenglan','Rain','Tom','Amy', 1, 2, 3]
拷贝
1>>> names
2['Alex','Tenglan','Rain','Tom','Amy', 1, 2, 3]
3
4>>> name_copy = names.copy()
5>>> name_copy
6['Alex','Tenglan','Rain','Tom','Amy', 1, 2, 3]
统计
1>>> names
2['Alex','Tenglan','Amy','Tom','Amy', 1, 2, 3]
3>>> names.count("Amy")
42
排序&翻转
1>>> names
2['Alex','Tenglan','Amy','Tom','Amy', 1, 2, 3]
3>>> names.sort()#排序
4Traceback (most recent call last):
5File"", line 1,in
6TypeError: unorderable types: int() < str()#3.0里不同数据类型不能放在一起排序了,擦
7>>> names[-3] ='1'
8>>> names[-2] ='2'
9>>> names[-1] ='3'
10>>> names
11['Alex','Amy','Amy','Tenglan','Tom','1','2','3']
12>>> names.sort()
13>>> names
14['1','2','3','Alex','Amy','Amy','Tenglan','Tom']
15
16>>> names.reverse()#反转
17>>> names
18['Tom','Tenglan','Amy','Amy','Alex','3','2','1']
获取下标
1>>> names
2['Tom','Tenglan','Amy','Amy','Alex','3','2','1']
3>>> names.index("Amy")
42#只返回找到的第一个下标
Python列表函数&方法
Python包含以下函数:
序号
函数
2
max(list)
返回列表元素最大值
3
min(list)
返回列表元素最小值
4
Python包含以下方法: