1.创建列表
列表是python以及其他语言中最常用的数据结构之一,用中括号包裹着,里面可以放任何数据,每个元素用’,‘隔开。
1 list_a = [1,2,3,4,5,6] 2 list_b = [a,b,c,d,e,f] 3 list_c = [1,2,3,a,b,c]
遍历range()函数生成列表,此函数生成数值时从0开始,可再for循环中添加限制,从而得到需要的列表。
1 lis = [] 2 for i in range(5): 3 lis.append(i) 4 print(lis) 5 结果: 6 [0, 1, 2, 3, 4]
通过list()方法,将元组、字典、字符串转换成列表,其中字典转换成列表时,只转换字典中的key。
1 tup = (1,2,3,4) 2 print(type(tup)) 3 lis = list(tup) 4 print(lis) 5 print(type(lis)) 6 结果: 7 <class 'tuple'> 8 [1, 2, 3, 4] 9 <class 'list'>
2.切片
列表有严格的顺序,可通过索引对列表进行增删改查,切片;[1:3]中,1和3分别是列表的索引,遵守原则,包括前但不包括后。
1 lis = ["a","b","c","d","e"] 2 li1 = lis[1:3] 3 print(li1) 4 结果: 5 ['b', 'c']
lis[0:-1:1] 0指从第一个数开始,-1指列表中最后一个,由于不包括右边,则未打印出 ”e"。
1 lis = ["a","b","c","d","e"] 2 li1 = lis[0:-1:1] 3 print(li1) 4 结果: 5 ['a', 'b', 'c', 'd']
从0切到最后时,0和最后的1 均可以省略,即li1 = lis[::]。
1 lis = ["a","b","c","d","e"] 2 li1 = lis[0::1] 3 print(li1) 4 结果: 5 ['a', 'b', 'c', 'd', 'e']
lis[::2] 中 2是指分割的间隔,如果是1的话指一个一个的查找,2指隔一个查找一个。
1 lis = ["a","b","c","d","e"] 2 li1 = lis[::2] 3 print(li1) 4 结果: 5 ['a', 'c', 'e']
3.增
1)lis.append()
在列表的最后一个元素后面依次顺序添加,lis.append("元素")。
1 lis = ["a","b","c","d","e"] 2 lis.append('f') 3 print(lis) 4 结果: 5 ['a', 'b', 'c', 'd', 'e', 'f']
2)lis.insert()
根据索引值,将元素添加到指定索引值上,其他元素往后挪,lis.insert(1,'元素')。
1 lis = ["a","b","c","d","e"] 2 lis.insert(1,'f') 3 print(lis) 4 结果: 5 ['a', 'f', 'b', 'c', 'd', 'e']
3)lis.extend
将另一个列表添加到指定列表中
1 lis = ["a","b","c","d","e"] 2 li1 = [1,2,3] 3 lis.extend(li1) 4 print(lis) 5 print(li1) 6 结果: 7 ['a', 'b', 'c', 'd', 'e', 1, 2, 3] 8 [1, 2, 3]
4.删
1)lis.remove()
根据元素指定删除
1 lis = ["a","b","c","d","e"] 2 lis.remove('a') 3 print(lis) 4 结果: 5 ['b', 'c', 'd', 'e']
2)lis.pop()
lis.pop(1)指删除列表lis中索引为1的元素,根据需求可以定义一个变量接收删除的元素,未指定索引时则删除最后一个元素。
1 lis = ["a","b","c","d","e"] 2 lis.pop() 3 print(lis) 4 lis.pop(1) 5 print(lis) 6 结果: 7 ['a', 'b', 'c', 'd'] 8 ['a', 'c', 'd']
3)del
del lis 可直接删除列表lis。
1 lis = ["a","b","c","d","e"] 2 del lis[1] 3 print(lis) 4 结果: 5 ['a', 'c', 'd', 'e']
4)lis.clear()
将列表内元素清空,但是列表lis仍存在,del lis 会将列表删除。
1 lis = ["a","b","c","d","e"] 2 lis.clear() 3 print(lis) 4 结果: 5 []
5.改
修改可直接根据索引值重新赋值即可。
1 lis = ["a","b","c","d","e"] 2 lis[0] = 'z' 3 print(lis) 4 lis[0:3] = [1,2,3] 5 print(lis) 6 结果: 7 ['z', 'b', 'c', 'd', 'e'] 8 [1, 2, 3, 'd', 'e']
6.查
1)lis.count()
根据指定元素查找其出现的次数。
1 lis = ["a","b","c","d","e","a"] 2 print(lis.count('a')) 3 结果: 4 2
2)lis.index()
根据指定元素查找其对应的索引值,与字符串中的index()方法相同,可以从不同位置开始查找。
1 lis = ["a","b","c","d","e","a"] 2 print(lis.index('a')) 3 print(lis.index('a',2)) 4 结果: 5 0 6 5
7.列表排序
优先级顺序:数字>大写字母>小写字母>符号>中文
1)lis.sort()
按照优先级顺序将列表排列
1 lis = ["佛","儒","道","a","b","c","D","E","F","1","3","2"] 2 lis.sort() 3 print(lis) 4 结果: 5 ['1', '2', '3', 'D', 'E', 'F', 'a', 'b', 'c', '佛', '儒', '道']
2)sorted()
将列表按照优先级顺序排列,需有一个新列表接收,原列表顺序不变。
1 lis = ["佛","儒","道","a","b","c","D","E","F","1","3","2"] 2 li1 =sorted(lis) 3 print(lis) 4 print(li1) 5 结果: 6 ['佛', '儒', '道', 'a', 'b', 'c', 'D', 'E', 'F', '1', '3', '2'] 7 ['1', '2', '3', 'D', 'E', 'F', 'a', 'b', 'c', '佛', '儒', '道']
3)lis.reverse()
将列表按照优先级顺序反向排列,只会反序每个优先级中的顺序。
1 lis = ["佛","儒","道","a","b","c","D","E","F","1","3","2"] 2 lis.reverse() 3 print(lis) 4 结果: 5 ['2', '3', '1', 'F', 'E', 'D', 'c', 'b', 'a', '道', '儒', '佛']
8.遍历列表
一般遍历
1 lis = ["a","b","c","d","e"] 2 for i in lis: 3 print(i) 4 结果: 5 a 6 b 7 c 8 d 9 e
切片遍历
1 lis = ["a","b","c","d","e"] 2 for i in lis[0:3]: 3 print(i) 4 结果: 5 a 6 b 7 c