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.列表的嵌套的主要内容,如果未能解决你的问题,请参考以下文章

Python代码阅读(第41篇):矩阵转置

将片段添加到片段中(嵌套片段)

使用嵌套片段和动画对象

Android 动画嵌套片段

C#UWP填充和访问嵌套列表

PHP项目开发经验整理