列表是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‘, 1, 2, 3, 4] |
注: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[1, 2, 3, 4] |
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[] |
原文:http://www.cnblogs.com/luoahong/p/7159821.html