首页 > 代码库 > Python基础【day02】:列表

Python基础【day02】:列表

列表是Python最常用的数据类型之一,通过列表可以对数据实现最方便的存储、修改等操作

1、定义列表

1
2
names = [] #定义空列表
names = [‘a‘,‘b‘,‘c‘#定义一个非空列表

 2、访问列表中的元素

1
2
3
4
5
6
7
8
9
>>> names = [‘a‘,‘b‘,‘c‘]
>>> names[0]
‘a‘
>>> names[1]
‘b‘
>>> names[2]
‘c‘
>>> names[-1]#倒着取最后一个值
‘c‘

 注:列表的下标值是从0开始取值的

3、切片

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
>>> names = [‘a‘,‘b‘,‘c‘,‘d‘]
>>> names[1:3#取1到3之间的元素,包括1,不包括3
[‘b‘‘c‘]
>>> names[1:-1#取1到-1之间的元素,包括1,不包括-1
[‘b‘‘c‘]
>>> names[0:3]
[‘a‘‘b‘‘c‘]
>>> names[:3#从头开始取,0可以省略,效果等同于names[0:3]
[‘a‘‘b‘‘c‘]
>>> names[3:]  #想取到最后一个值,必须不能写-1,只能这么写
[‘d‘]
>>> names[0::2#后面的2表示:每隔一个元素就取一个
[‘a‘‘c‘]
>>> names[::2#从头开始0可以省略,效果跟上一句一样
[‘a‘‘c‘]

切片小结:

①序列始终都是从左向右切片的,不能是从右向左

①列表切片时,起始位的元素是包括的,结束位的元素是不包括(又叫顾头不顾尾),最后一个位置表示步长(names[开始位:结束位:步长])

②如果从0位置取值,0可以省略

③想取最后一个值时,结束位不能是-1,因为结束位的元素不包括,所以只能留空

4、追加(append(元素))

1
2
3
4
>>> names = [‘a‘,‘b‘,‘c‘,‘d‘]
>>> names.append(‘e‘)
>>> names
[‘a‘‘b‘‘c‘‘d‘‘e‘]#e是新加的元素

5、插入(insert(下标值,插入的内容))

1
2
3
4
>>> names = [‘a‘,‘b‘,‘c‘,‘d‘]
>>> names.insert(0,‘1‘#0表示需要插入的下标值,‘1‘表示插入的内容
>>> names
[‘1‘‘a‘‘b‘‘c‘‘d‘#在下标值为0的地方插入‘1‘

 6、修改

1
2
3
4
>>> names = [‘a‘,‘b‘,‘c‘,‘d‘]
>>> names[1= ‘1‘
>>> names
[‘a‘‘1‘‘c‘‘d‘]

 注:修改列表中的元素,直接是 names[下标值] = 新值

7、拷贝(copy())

1
2
3
4
>>> names = [‘a‘,‘b‘,‘c‘,‘d‘]
>>> names2 = names.copy()
>>> names2
[‘a‘‘b‘‘c‘‘d‘]

 注:这边的copy都是浅copy,只能copy第一层。深浅拷贝的详细信息:猛击这里

8、删除(del、remove(元素)、pop())

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#根据下标值删除元素
>>> names = [‘a‘,‘b‘,‘c‘,‘d‘]
>>> del names[0
>>> names
[‘b‘‘c‘‘d‘]
#根据元素删除
>>> names = [‘a‘,‘b‘,‘c‘,‘d‘]
>>> names.remove(‘a‘)
>>> names
[‘b‘‘c‘‘d‘]
#删除最后一个
>>> names = [‘a‘,‘b‘,‘c‘,‘d‘]
>>> names.pop()
‘d‘
>>> names
[‘a‘‘b‘‘c‘]

 注:

①如果pop()中有下标值,则是删掉具体某个元素,其效果和del的效果是一样的

1
2
3
4
5
>>> names = [‘a‘,‘b‘,‘c‘,‘d‘]
>>> names.pop(1#在输入下标值得情况下和del的效果是一样的
‘b‘
>>> names
[‘a‘‘c‘‘d‘]

②del关键字不仅可以删除列表中的元素,也可以删除变量

1
2
3
names = [‘a‘,‘b‘,‘c‘,‘d‘]
#删除names这个变量
del names

 9、扩展(extend)

1
2
3
4
5
>>> names1 = [‘a‘,‘b‘,‘c‘,‘d‘]
>>> names2 = [1,2,3,4]
>>> names1.extend(names2)
>>> names1
[‘a‘‘b‘‘c‘‘d‘1234]

 注:names2的列表合并到names1中,但是,names2这个列表依然存在,如果想删除names2这个变量,则只需del names2即可

10、统计(count(元素))

1
2
3
>>> names = [‘a‘,‘b‘,‘c‘,‘d‘,‘a‘]
>>> names.count(‘a‘#统计‘a‘元素的个数
2

 11、翻转(reverse())

1
2
3
4
>>> names = [‘a‘,‘b‘,‘c‘,‘d‘]
>>> names.reverse()
>>> names
[‘d‘‘c‘‘b‘‘a‘]  #将整个列表翻转过来

 12、排序(sort())

1
2
3
4
>>> names = [4,2,3,1]
>>> names.sort()
>>> names
[1234]

 13、获取下标值(index(元素))

1
2
3
>>> names = [‘a‘,‘b‘,‘c‘,‘d‘]
>>> names.index(‘a‘)
0

 14、清空列表(clear())

1
2
3
4
>>> names = [‘a‘,‘b‘,‘c‘,‘d‘]
>>> names.clear()
>>> names
[]

Python基础【day02】:列表