列表类型

  • 如何通过一个变量存储公司所有员工的名字?

      可以使用“ 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)