列表
- 定义
列表是一个有序,可修改以逗号分割,以中括号包裹的序列
适用场景:
存储多个数据,如需要存储100个人的名字等
拓展
列表与字符串的区别
-列表可以修改
-可通过列表的索引来修改列表
-列表里面的数据类型是可以是不同的类型,甚至可以嵌套一个列表
>>> name = []
>>> print(type(name))
<class 'list'>
>>>
>>> name = ["12",10]
>>> print(name)
['12', 10]
>>> type(name)
<class 'list'>
2.列表添加
参数 | 描述 |
---|---|
append | 追加,在列表的尾部加入指定的元素 |
insert | 将指定的元素插入到对应的索引位上,注意负索引 |
extend | 将指定序列的元素依次追加到列表的尾部(合并) |
>>> list1 = ['冰河','悟空','八戒',66]
>>> list1.append("嫦娥")
>>> print(list1)
['冰河', '悟空', '八戒', 66, '嫦娥']
>>> list1.insert(0,"DW")
>>> print(list1)
['DW', '冰河', '悟空', '八戒', 66, '嫦娥']
>>> list2 = [4,5,6]
>>> list1 + list2
['DW', '冰河', '悟空', '八戒', 66, '嫦娥', 4, 5, 6]
3.列表删除
参数 | 描述 |
---|---|
pop | 弹出并返回并删除指定索引位上的数据,默认删除索引为-1的数据 |
remove | 从左往右删除一个指定的元素 |
del | 删除整个列表或列表的数据,del是python内置功能,不是列表独有的 |
>>> list1
['DW', '冰河', '悟空', '八戒', 66, '嫦娥']
>>> list1.pop()
'嫦娥'
>>> list1
['DW', '冰河', '悟空', '八戒', 66]
>>> list1.remove('八戒')
>>> list1
['DW', '冰河', '悟空', 66]
>>> del list1[0]
>>> list1
['冰河', '悟空', 66]
4.列表查找
参数 | 描述 |
---|---|
count | 统计要计数的元素在列表当中的个数 |
index | 查找,从左往右返回查找到的第一个指定元素的索引,如果没有找到,报错 |
in | 查找元素是否在列表中,在输出true,否则false |
>>> list1
['冰河', '悟空', 66]
>>> list1[-1]
66
>>> list1.insert(1,'悟空')
>>> list1
['冰河', '悟空', '悟空', 66]
>>> list1.insert(2,'ck')
>>> list1
['冰河', '悟空', 'ck', '悟空', 66]
>>> list1.count(66)
1
>>> list1.count('悟空')
2
>>> list1
['冰河', '悟空', 'ck', '悟空', 66]
>>> list1.index('ck')
2
>>> list1.index(88)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: 88 is not in list
>>> a = [1,2,3,4,[5,6],7,8]
>>> 4 in a
True
>>> 5 in a
False
>>> 5 in a[4]
True
>>> 5,6 in a[4]
(5, True)
补充: 5,6 in a[4] 表示采取就近原则,6在表达式中离a[4]更近,所以6对应的位置是True
5.列表排序
参数 | 描述 |
---|---|
reverse | 顺序倒序 |
sort | 按照ascii码表顺序进行排序 |
>>> list1
['冰河', '悟空', 'ck', '悟空', 66]
>>> id(list1)
647520471048
>>> list1.reverse()
>>> list1
[66, '悟空', 'ck', '悟空', '冰河']
>>> id(list1)
647520471048
>>> list1
[66, '悟空', 'ck', '悟空', '冰河']
>>> list1.sort()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: '<' not supported between instances of 'str' and 'int'
>>> list2 = [6,4,3,5,1,2]
>>> list2.sort()
>>> list2
[1, 2, 3, 4, 5, 6]
拓展
-reverse 元素(包括下标)都对调了,但是id没有被修改
-列表内不同的数据类型,不能相互比较,否则会报错
6.list函数
list(),以一个序列作为参数并把它转换为列表,如何参数都是list,那么该参数就会被原样返回
>>> a = ['a','b','c']
>>> ''.join(a)
'abc'
注意:如果你定义了list这个变量,再用list()这个函数时会报错
7.列表的切片
>>> L1 = [1,2,3,4,5,6,7,8]
>>> L1[1]
2
>>> L1[-1]
8
>>> L1[1:4]
[2, 3, 4]
>>> L1[1:6:2]
[2, 4, 6]
>>> L1[1:6:-1]
[]
>>> L1[::-1]
[8, 7, 6, 5, 4, 3, 2, 1]
>>> L1[6:1:-1]
[7, 6, 5, 4, 3]
>>> L1[6:1:-2]
[7, 5, 3]