列表嵌套的应用举例: 将一个列表随机添加到另一个列表中
import random #导入随机库 rooms=[[],[],[]]#定义一个嵌套列表 teachers=["li","wang","zhang","zhao"] for teacher in teachers: #遍历teachers的列表 room=random.randint(0,2) #使用随机数产生3个列表,(0,1,2) rooms[room].append(teacher)#room的取值为0,1,2:将teacher随机添加到room中 print(rooms)
[['wang', 'zhang'], [], ['li', 'zhao']] #产生的效果为将4位老师随机添加到三个房间中
如果想实现将房间对应的人数以及人名输出应该怎么解决呢?
此时我们就需要用到列表的嵌套,原因是上面通过产生随机数以及append函数,已经将房间和对应的人建立了联系,那么下面只需要通过列表循环遍历将其打印输出。
i=1 #初始化第一个房间数的编号为1 for rooms_ in rooms:#遍历关于房间的这层列表元素 print("房间%d的人数是%d"%(i,len(rooms_)))#将每个房间对应的人数打印:i代表房间号,len(room_s)代表房间人数 i+=1 for teacher in rooms_:#遍历关于每个房间的人 print("老师的名字是%s"%(teacher))#输出每个房间的每个人的名字
产生如下效果:
房间1的人数是2 老师的名字是wang 老师的名字是zhao 房间2的人数是1 老师的名字是li 房间3的人数是1 老师的名字是zhang