17 列表
1,列表的格式:
namesList = ['xiaoWang','xiaoZhang','xiaoHua']
比C语言的数组强大的地方在于列表中的元素可以是不同类型的
testList = [1, 'a']
2,打印列表
nameList=['jack1','jack2','jack3'] print(nameList[0]) print(nameList[1]) print(nameList[2])
结果:
jack1
jack2
jack3
3,列表的循环遍历
①使用 for 循环
②使用 while 循环
1 # for循环打印列表 2 ageList=[12,14,17] 3 for age in ageList: 4 print(age,end=" ")
6 # while循环打印列表 7 i=0 8 while i<len(ageList): 9 print(ageList[i],end=" ") 10 i+=1
打印结果:
12 14 17
4,列表的相关操作
①添加元素(“增” append , extend , insert )
append: 通过 append 可以向列表中添加元素
1 #增 append 2 name_List=["小明","小李","小王"] 3 name=input("请输入要添加的名字:") 4 name_List.append(name) 5 for name in name_List: 6 print(name,end=" ")
打印结果:
extend: 通过 extend 可以将另一个集合中的元素逐一添加到列表中
1 # 增 extend 2 a=[1,2] 3 b=[3,4] 4 b.append(a) 5 for i in b: 6 print(i,end=" ") 7 print( ) 8 b.extend(a) 9 for i in b: 10 print(i,end=" ")
打印结果:
insert
insert( index, object ) 在指定位置 index 前插入元素 object
1 # 增 insert 2 arr1=[1,2,3] 3 arr1.insert(2,'a') 4 for i in arr1: 5 print(i,end=" ")
打印结果:
1 2 a 3
②修改元素(“改”)
修改元素的时候,要通过下标来确定要修改的是哪个元素,然后才能进行修改
1 # 改 2 list1=['a','b','1','d'] 3 list1[2]='c' 4 for i in list1: 5 print(i,end=" ")
打印结果:
a b c d
③查找元素(“查” in , not in , index , count )
所谓的查找,就是看看指定的元素是否存在
python中查找的常用方法为:
in(存在),如果存在那么结果为true,否则为 false
not in (不存在),如果不存在那么结果为 true , 否则为false
index :查找索引
count: 查找出现的次数
1 # 查 in , not in 2 name_List=["小李","小张","小王"] 3 find_name=input("请输入你要查找的姓名:") 4 if find_name in name_List: 5 print("找到了您要找的名字") 6 else: 7 print("没有找到您要找的名字") 8 9 print() 10 11 # 查 index count 12 str=['a','c','b','d','c'] 13 print(str.index('b',0,3)) # 2 14 print(str.index('c')) # 1 15 print(str.count('c')) # 2
④删除元素(“删” del , pop , remove)
列表元素的常用删除方法有:
del : 根据下标进行删除
pop : 删除最后一个元素
remove : 根据元素的值进行删除
1 # 删 del 2 movie_name=['千与千寻','哪吒','天气之子','唐人街探案'] 3 del movie_name[1] 4 for i in movie_name: 5 print(i)
打印结果:
千与千寻
天气之子
唐人街探案
1 # 删 pop 2 film_name=['千与千寻','哪吒','天气之子','唐人街探案'] 3 film_name.pop() 4 for i in film_name: 5 print(i)
打印结果:
千与千寻
哪吒
天气之子
1 # 删 remove 2 a=[1,2,3,4,5] 3 a.remove(3) 4 for i in a: 5 print(i)
打印结果:
1 2 4 5
⑤排序(sort , reverse )
sort 方法是将 list 按特定顺序重新排列,默认为由小到大,参数 reverse=True 可改为倒序,由大到小。reverse 方法是将 list 逆置
1 # 排序 2 p=[1,7,3,9,0,3] 3 p.sort() 4 for i in p: 5 print(i,end=" ") # 0 1 3 3 7 9
6 print() 7 p.sort(reverse=True) 8 for i in p: 9 print(i, end=" ") #9 7 3 3 1 0
10 print() 11 p.reverse() 12 for i in p: 13 print(i,end=" ") # 0 1 3 3 7 9
⑥列表的嵌套
一个列表中的元素又是一个列表,那么这就是列表的嵌套
school_names = [['北京大学','清华大学'],
['南开大学','天津大学','天津师范大学'],
['山东大学','中国海洋大学']]
应用:
一个学校,有3个办公室,现在有8位老师等待工位的分配,请编写程序,完成随机分配
1 import random 2 office=[[],[],[]] # 三间办公室 3 teachers=['A','B','C','D','E','F','G'] # 8位老师 4 5 for teacher in teachers: 6 index=random.randint(0,2) 7 office[index].append(teacher) 8 9 i=1 10 for tmp in office: 11 print("办公室%d" % i) 12 i += 1 13 print(tmp) 14 for j in tmp: 15 print( j,end=" ") 16 print()