列表类型
-
如何通过一个变量存储公司所有员工的名字?
可以使用“ names = “shanshan longling alex” ”来进行存储,但是却无法查询和修改name的值。
-
创建列表
1 #方法一 2 names1 = [] #定义一个空列表 3 names2 = ['a','b','c'] #存储4个值,索引为0~3 4 names3 = ['ab',['cd','ef']]#嵌套列表 5 #方法二 6 list() names = list() print(names)
-
查询列表
1 L2 = ['a','b','c','d','a','e',1,2] #定义一个列表 2 print(L2[2]) #通过索引取值 3 print(L2[-1]) #通过索引从列表右边开始取值 4 print(L2.index('a')) #返回指定元素的索引值,从左向右查找,找到第一个匹配值,则返回 5 print(L2.count('a')) #统计指定元素的个数
-
列表的切片
1 L1 = ['Shanshan','Longting','Alex',1,3,4,4,5,6,7,8,8,9,9,0,0,2,3,4,4] 2 print(L1[0-2]) #0-2 为 -2,等于 print[L3[-2]] 3 print(L1[0-3]) #0-3 为 -3,等于 print[L3[-3]] 4 print(L1[0:3]) #取前三个 结果为:['Shanshan', 'Longting', 'Alex'] 顾头不顾尾 5 print(L1[3:8]) #取中间五个 结果为:[1, 3, 4, 4, 5] 顾头不顾尾 6 print(L1[-1:-5]) #结果为:[] 因为切片的原则是:只能从左到右进行切分 7 print(L1[-5:-1]) #结果为:[0, 2, 3, 4] 顾头不顾尾 8 print(L1[-5:0]) #结果为:[] 9 print(L1[-5:]) #取后面五个 结果为:[0, 2, 3, 4, 4] 10 print(L1[0:3]) #结果为:['Shanshan', 'Longting', 'Alex'] 11 print(L1[:3]) #结果为:['Shanshan', 'Longting', 'Alex'] 与上面相同 12 print(L1[:]) #结果为:['Shanshan', 'Longting', 'Alex', 1, 3, 4,4, 5, 6, 7, 8, 8, 9, 9, 0, 0, 2, 3, 4, 4] 13 print(L1[:7]) #结果为:['Shanshan', 'Longting', 'Alex', 1, 3, 4, 4] 14 print(L1[0:7:2]) #结果为:['Shanshan', 'Alex', 3, 4] 步长,排除了'Longting' , 1 ,3 , 4 15 print(L1[:7:1]) #结果为:['Shanshan', 'Longting', 'Alex', 1, 3, 4, 4] 16 print(L1[:-1:3]) #结果为:['Shanshan', 1, 4, 7, 9, 0, 4] 跳三个 17 print(L1[:-1:4]) #结果为:['Shanshan', 3, 6, 9, 2] 跳四个 18 print(L1[:]) #结果为:['Shanshan', 'Longting', 'Alex', 1, 3, 4, 4, 5, 6, 7, 8, 8, 9, 9, 0, 0, 2, 3, 4, 4] 19 print(L1[::2]) #结果为:['Shanshan', 'Alex', 3, 4, 6, 8, 9, 0, 2, 4] 跳两个
-
列表的增加及修改
1 #插入 2 L1 = ['Shanshan', 'Longting', 'Alex', 1, 3, 4, 4, 5, 6, 7, 8, 8, 9, 9, 0, 0, 2, 3, 4, 4] 3 print(L1) #结果为:['Shanshan', 'Longting', 'Alex', 1, 3, 4, 4, 5, 6, 7, 8, 8, 9, 9, 0, 0, 2, 3, 4, 4] 4 L1.insert(0,'abc') #是根据索引值,来插入数据 5 print(L1) #结果为:['abc', 'Shanshan', 'Longting', 'Alex', 1, 3, 4, 4, 5, 6, 7, 8, 8, 9, 9, 0, 0, 2, 3, 4, 4] 6 L1.insert(2,'def') 7 print(L1) #结果为:['abc', 'Shanshan', 'def', 'Longting', 'Alex', 1, 3, 4, 4, 5, 6, 7, 8, 8, 9, 9, 0, 0, 2, 3, 4, 4] 8 9 #追加 10 L1 = ['Shanshan', 'Longting', 'Alex', 1, 3, 4, 4, 5, 6, 7, 8, 8, 9, 9, 0, 0, 2, 3, 4, 4] 11 L1.append('Wuqianqian') #只能插入到结尾,结果为:['Shanshan', 'Longting', 'Alex', 1, 3, 4, 4, 5, 6, 7, 8, 8, 9, 9, 0, 0, 2, 3, 4, 4, 'Wuqianqian'] 12 13 14 #根据索引值修改 15 L1 = ['Shanshan', 'Longting', 'Alex', 1, 3, 4, 4, 5, 6, 7, 8, 8, 9, 9, 0, 0, 2, 3, 4, 4] 16 print(L1[3]) 17 L1[3] = "龙婷" #重新赋值 18 print(L1) #结果为:['abc', 'Shanshan', 'Alex', '龙婷', 'Alex', 1, 3, 4, 4, 5, 6, 7, 8, 8, 9, 9, 0, 0, 2, 3, 4, 4] 19 20 #根据索引值的范围修改 21 print(L1[4:6]) #批量修改 22 L1[4:6] = "JACK LIU" #注意中间有空格 23 print(L1) #结果为:['abc', 'Shanshan', 'Alex', '龙婷', 'J', 'A', 'C', 'K', ' ', 'L', 'I', 'U', 3, 4, 4, 5, 6, 7, 8, 8, 9, 9, 0, 0, 2, 3, 4, 4]
-
列表的删除
1 #删除指定元素 2 L1 = ['Shanshan', 'Longting', 'Alex', 1, 3, 4, 4, 5, 6, 7, 8, 8, 9, 9, 0, 0, 2, 3, 4, 4] 3 L1.remove('Longting') 4 print(L1) #结果为:['Shanshan', 'Alex', 1, 3, 4, 4, 5, 6, 7, 8, 8, 9, 9, 0, 0, 2, 3, 4# , 4] 5 6 #删除多个元素 7 L1 = ['Shanshan', 'Longting', 'Alex', 1, 3, 4, 4, 5, 6, 7, 8, 8, 9, 9, 0, 0, 2, 3, 4, 4] 8 del L1[2:6] 9 print(L1) #结果为:['Shanshan', 'Longting', 4, 5, 6, 7, 8, 8, 9, 9, 0, 0, 2, 3, 4, 4]
-
列表的循环
1 #for循环 2 L1 = ['Shanshan', 'Longting', 'Alex', 1, 3, 4, 4, 5, 6, 7, 8, 8, 9, 9, 0, 0, 2, 3, 4, 4] 3 for i in L1: 4 print(i) 5 6 #range(10),生成一个0-10的列表,Python3.x与Python2.x不同 7 for i in range(10): 8 print(i) 9 10 11 #for循环与while循环的区别:while循环可以是死循环,但for循环有边界,是不会出现死循环的。
-
列表的排序及其他用法
1 L2 = ['a','e','b',1,34,2,'c'] 2 #使用sort方法来排序 3 #L2.sort() #结果为:Traceback (most recent call last):line 2, in <module>L2.sort()TypeError: '<' not supported between instances of 'int' and 'str' int和str没有关系,所以无法排序。 4 5 #删除指定元素 6 L2.remove(1) 7 L2.remove(34) 8 L2.remove(2) 9 10 #追加列表 11 L2.append('z') 12 13 #增加索引值 14 L2.insert(1,'y') 15 L2.insert(3,'A') 16 17 #使用sort方法来排序 18 L2.sort() 19 20 #增加索引值 21 L2.insert(3,'#') 22 L2.insert(3,'*') 23 L2.insert(3,'!') 24 25 #使用sort方法来排序 26 L2.sort() 27 28 #print(L2) #然后发现排序规则是按照列表中元素的位于ASCII码表中的位置进行排列显示的。 29 30 31 #列表的反转 32 L2.reverse() 33 print(L2) 34 35 #新建一个列表 36 L3 = [1,2,4] 37 print(L3) 38 39 print(L2+L3) 40 41 #列表的拓展方法 42 L2.extend(L3) 43 print(L2) 44 45 #copy列表 46 L4 = L2.copy() 47 print(L4) 48 49 #清空列表,它与删除操作不相同,清空列表是对内容级别进行操作,删除是列表级别操作。 50 L2.clear() 51 print(L2)