4.列表的嵌套
Posted kangwenju
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了4.列表的嵌套相关的知识,希望对你有一定的参考价值。
列表的嵌套
1. 列表嵌套
类似while循环的嵌套,列表也是支持嵌套的
一个列表中的元素又是一个列表,那么这就是列表的嵌套
schoolNames = [[‘北京大学‘,‘清华大学‘], [‘南开大学‘,‘天津大学‘,‘天津师范大学‘], [‘山东大学‘,‘中国海洋大学‘]]
2. 应用
一个学校,有3个办公室,现在有8位老师等待工位的分配,请编写程序,完成随机的分配
#encoding=utf-8 import random # 定义一个列表用来保存3个办公室 offices = [[],[],[]] # 定义一个列表用来存储8位老师的名字 names = [‘A‘,‘B‘,‘C‘,‘D‘,‘E‘,‘F‘,‘G‘,‘H‘] i = 0 for name in names: index = random.randint(0,2) offices[index].append(name) i = 1 for tempNames in offices: print(‘办公室%d的人数为:%d‘%(i,len(tempNames))) i+=1 for name in tempNames: print("%s"%name,end=‘‘) print(" ") print("-"*20)
运行结果如下:
例子1:
# 列表中的元素为列表 -> 列表嵌套 schoolNames = [[‘北京大学‘, ‘清华大学‘], [‘南开大学‘, ‘天津大学‘, ‘天津师范大学‘], [‘山东大学‘, ‘中国海洋大学‘]] # 关心的是取值 # # 天津师范大学 tj_list = schoolNames[1] # # [‘南开大学‘, ‘天津大学‘, ‘天津师范大学‘] # print(tj_list) name = tj_list[2] print(name)
优化:
# 列表中的元素为列表 -> 列表嵌套 schoolNames = [[‘北京大学‘, ‘清华大学‘], [‘南开大学‘, ‘天津大学‘, ‘天津师范大学‘], [‘山东大学‘, ‘中国海洋大学‘]] # 优化 name = schoolNames[1][2] print(name) # 山东大学 name = schoolNames[2][0] print(name)
例子2:
import random # 一个学校,有3个办公室,现在有8位老师等待工位的分配,请编写程序,完成随机的分配 # 定义一个列表保存三个办公室 office_list = [[], [], []] # 保存八名老师 teacher_list = list("ABCDEFGH") # 循环遍历8名老师 for name in teacher_list: # 产生一个随机的下标索引 index = random.randint(0, len(office_list) - 1) # 随机分配老师 office_list[index].append(name) print(office_list)
运行结果:
[[‘C‘, ‘H‘], [‘A‘, ‘E‘, ‘F‘, ‘G‘], [‘B‘, ‘D‘]]
以上是关于4.列表的嵌套的主要内容,如果未能解决你的问题,请参考以下文章