[Python Study Notes]列表操作

                     

 列表操作    

                                                                   

 

a.切片

 1 >>> names = ["Alex","Tenglan","Eric","Rain","Tom","Amy"]
 2 >>> names[1:4]  #取下标1至下标4之间的数字,包括1,不包括4
 3 ['Tenglan', 'Eric', 'Rain']
 4 
 5 >>> names[1:-1] #取下标1至-1的值,不包括-1
 6 ['Tenglan', 'Eric', 'Rain', 'Tom']
 7 
 8 >>> names[0:3] 
 9 ['Alex', 'Tenglan', 'Eric']
10 
11 >>> names[:3] #如果是从头开始取,0可以忽略,跟上句效果一样
12 ['Alex', 'Tenglan', 'Eric']
13 
14 >>> names[3:] #如果想取最后一个,必须不能写-1,只能这么写
15 ['Rain', 'Tom', 'Amy'] 
16 
17 >>> names[3:-1] #这样-1就不会被包含了
18 ['Rain', 'Tom']
19 
20 >>> names[0::2] #后面的2是代表,每隔一个元素,就取一个
21 ['Alex', 'Eric', 'Tom'] 
22 
23 >>> names[::2] #和上句效果一样
24 ['Alex', 'Eric', 'Tom']

b.追加

1 >>> names
2 ['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy']
3 
4 >>> names.append("我是新来的")
5 
6 >>> names
7 ['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy', '我是新来的']

c.插入

 1 >>> names
 2 ['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy', '我是新来的']
 3 
 4 >>> names.insert(2,"强行从Eric前面插入")
 5 
 6 >>> names
 7 ['Alex', 'Tenglan', '强行从Eric前面插入', 'Eric', 'Rain', 'Tom', 'Amy', '我是新来的']
 8 
 9 >>> names.insert(5,"从eric后面插入试试新姿势")
10 
11 >>> names
12 ['Alex', 'Tenglan', '强行从Eric前面插入', 'Eric', 'Rain', '从eric后面插入试试新姿势', 'Tom', 'Amy', '我是新来的']

d.修改

>>> names
['Alex', 'Tenglan', '强行从Eric前面插入', 'Eric', 'Rain', '从eric后面插入试试新姿势', 'Tom', 'Amy', '我是新来的']

>>> names[2] = "该换人了"

>>> names
['Alex', 'Tenglan', '该换人了', 'Eric', 'Rain', '从eric后面插入试试新姿势', 'Tom', 'Amy', '我是新来的']

e.删除

 1 >>> del names[2] 
 2 
 3 >>> names
 4 ['Alex', 'Tenglan', 'Eric', 'Rain', '从eric后面插入试试新姿势', 'Tom', 'Amy', '我是新来的']
 5 
 6 >>> del names[4]
 7 
 8 >>> names
 9 ['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy', '我是新来的']
10 
11 >>> names.remove("Eric") #删除指定元素
12 
13 >>> names
14 ['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy', '我是新来的']
15 
16 >>> names.pop() #删除列表最后一个值 
17 '我是新来的'
18 
19 >>> names
20 ['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy']

 f.列表合并

1 >>> names
2 ['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy']
3 
4 >>> b = [1,2,3]
5 
6 >>> names.extend(b)
7 
8 >>> names
9 ['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy', 1, 2, 3]

g.浅copy

1 >>> names
2 ['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy', 1, 2, 3]
3 
4 >>> name_copy = names.copy()
5 
6 >>> name_copy
7 ['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy', 1, 2, 3]

 h.深copy

1 import copy
2 
3 n1 = [1,2,3]
4 
5 n2 = copy.deepcopy(n1)

i.统计

1 >>> names
2 ['Alex', 'Tenglan', 'Amy', 'Tom', 'Amy', 1, 2, 3]
3 
4 >>> names.count("Amy")
5 2

 j.排序

 1 >>> names
 2 ['Alex', 'Tenglan', 'Amy', 'Tom', 'Amy', 1, 2, 3]
 3 >>> names.sort() #排序
 4 Traceback (most recent call last):
 5   File "<stdin>", line 1, in <module>
 6 TypeError: 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']

 k.获取下标

1 >>> names
2 ['Tom', 'Tenglan', 'Amy', 'Amy', 'Alex', '3', '2', '1']
3 >>> names.index("Amy")
4 2 #只返回找到的第一个下标

 

posted @ 2018-01-09 14:29  刘六六  阅读(229)  评论(0编辑  收藏  举报