4.7 列表嵌套及应用
2023-03-12 本文已影响0人
拖延症患者10
列表嵌套:在一个列表里面再次使用列表。
city_list = [["杭州", "深圳"], ["北京", "上海"]]
print(city_list) # 结果是:[['杭州', '深圳'], ['北京', '上海']]
# 取出深圳
city_name = city_list[0][1]
print(city_name) # 结果是:深圳
# 给小列表里添加数据
city_list[1].append("广州")
print(city_list) # 结果是:[['杭州', '深圳'], ['北京', '上海', '广州']]
4.7.1 老师随机分配工位
题目:一个学校,有3个办公室,现在有8位老师等待工位的分配,请编写程序,完成随机的分配。
需求分析:
- 一个办公室在程序里面对应的就是一个列表,三个办公室应该对应的是三个列表
1.1 定义三个变量,分别表示三个列表,这样不推荐
1.2 定义一个变量,把三个办公室列表再放到一个大列表里面,推荐大家这样做
- 8 位老师,在程序里面可以使用列表来表示,定义一个老师列表
- 如何产生随机数字:
random.randint
函数,生成一个随机数字,随机数字的范围[0-2]
# 定义办公室列表
office_list = [[], [], []]
# 定义老师列表
teacher_list = ["赵老师", "钱老师", "孙老师", "李老师", "周老师", "吴老师", "郑老师", "王老师"]
# 遍历老师列表,取出每一位老师,对每一位老师生成一个随机的办公室下标
for teacher in teacher_list:
# 生成随机的办公室下标
index = random.randint(0, 2)
# print(teacher, index)
# 根据随机的下标取到对应的办公室,然后再把老师添加到指定办公室即可
office_list[index].append(teacher)
# 代码执行到此,说明8位老师随机分配工位完成
print(office_list) # 结果是:[['赵老师', '孙老师', '李老师', '周老师'], ['钱老师', '吴老师', '郑老师'], ['王老师']]
4.7.2 查看每个办公室的信息
# 记录当前是第几个办公室
num = 1
# 遍历办公室列表获取每一个办公室,每一个办公室就是一个小列表
for office in office_list:
# 计算每个办公室的人数
count = len(office)
print("当前是第%d个办公室,人数为:%d" % (num, count))
# 遍历办公室小列表,获取每一位老师的信息
for teacher_name in office:
print(teacher_name)
num += 1