列表

定义

列表是一个有序,可修改以逗号分割,以中括号包裹的序列

适用场景:

存储多个数据,如需要存储100个人的名字等

拓展

列表与字符串的区别

-列表可以修改

-可通过列表的索引来修改列表

-列表里面的数据类型是可以是不同的类型,甚至可以嵌套一个列表

>>> name = []
>>> print(type(name))
>>>
>>> name = ["12",10]
>>> print(name)
['12', 10]
>>> type(name)

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 "", line 1, in 
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 "", line 1, in 
TypeError: '
>>> 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]