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("\n")
    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']]

猜你喜欢

转载自www.cnblogs.com/kangwenju/p/12764620.html
今日推荐