欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

列表的嵌套

程序员文章站 2022-07-15 14:12:24
...

什么是列表的嵌套?

列表支持嵌套。列表嵌套指的是一个列表的元素又是一个列表。

示例代码如下:

#列表支持嵌套
school_names = [['北京姑娘','清华大学'],
                ['南开大学','天津大学','师范大学'],
                ['山东大学','武汉大学']]
for temp in school_names:
    print(temp)


代码运行结果如下:

列表的嵌套

列表嵌套案例——分配老师到不同的办公室

已知某学校有3个办公室和8名教师,请编写一个程序,完成教师和办公室的随机分配。
要完成以上要求,可以按照一下步骤来设计程序:

  1. 定义一个包含3个空列表的列表offices,该列表中每个空列表代表空办公室,下标代表办公室的编号;
  2. 定义一个列表names,该列表中储存8位教师的姓名;
  3. 遍历names取出每位教师的姓名,之后再随机选取一个代表办公室的空列表,将教师姓名添加到里面;
  4. 输出每个办公室列表的信息

接下来,按照上述要求编写程序实现案例,代码如下:

import random
#定义一个列表用来保存3个办公室
offices = [[], [], []]
#定义一个列表用来储存8位老师的名字
names = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H']
for name in names:
    index = random.randint(0, 2)
    offices[index].append(name)
i = 1
for temp in offices:
    print('办公室%d的人数为:%d' % (i, len(temp)))
    i +=1
    for name in temp:
        print("%s" % name, end='')
    print("-" * 20)

上述案例中,第1行导入了提供随机数操作的模块random;
第3行定义了一个列表offices,其内部存放了3个办公室的空列表,表明此时还没有发配老师;
第5行定义了一个保存了所有老师名字的列表names;
第6~8行代码遍历names列表,调用random.randint函数获取了一个随机索引,并且将拿到的姓名添加带随机的列表中;
第9~15行使用嵌套的for循环输出了每个办公室的人数分配情况。

由于办公室和老师都是随机的 ,因此,,程序每次运行结果都不同。
下图为运行结果中的一种情况:
列表的嵌套
*你忘记点赞了,小可爱~~~

相关标签: Python初学者