Python基础之列表

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
posted @ 2019-12-13 10:11  fox不二  阅读(182)  评论(0编辑  收藏  举报