036、Python 嵌套列表与使用

嵌套列表是指一个列表中包含其他列表作为元素的数据结构。嵌套列表可以有任意层级的嵌套,即一个列表中可以包含其他列表,而这些列表又可以包含其他列表,以此类推。

如:

nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

# 访问嵌套列表中的元素
print(nested_list[0])  # 输出:[1, 2, 3]
print(nested_list[1][2])  # 输出:6

# 修改嵌套列表中的元素
nested_list[2][1] = 10
print(nested_list)  # 输出:[[1, 2, 3], [4, 5, 6], [7, 10, 9]]

# 迭代访问嵌套列表中的元素
for sublist in nested_list:
    for item in sublist:
        print(item, end=' ')
    print()

# 输出:
# 1 2 3
# 4 5 6
# 7 10 9

练习:保存5个学生,3门课成的成绩,并统计每个学生的平均成绩和每门课的最高分和最低分。

"""
example036 - 保存5个学生,3门课成的成绩,
并统计每个学生的平均成绩和每门课的最高分和最低分

Author: 不在同一频道上的呆子
Date: 2024/1/27
"""
import random

names = ['张三', '李四', '王五', '小明', '小红']
courses = ['语文', '数学', '英语']
# scores = [86, 92, 69, 86, 92, 69, 86, 92, 69, 86, 92, 69, 86, 92, 69, 86, 92, 69]
# scores = [
#     [86, 92, 69],
#     [86, 92, 69],
#     [86, 92, 69],
#     [86, 92, 69],
#     [86, 92, 69],
#     [86, 92, 69]
# ]
scores = [[random.randrange(50, 101) for 
### 嵌套列表的基础概念 嵌套列表是指列表内含其他列表的数据结构。这种结构能够表示多维数组或多级层次关系,在处理复杂数据集时非常有用。 ```python nested_list = [ ['apple', 'banana', 'cherry'], [1, 2, 3], ['red', 'green', 'blue'] ] ``` 上述代码展示了如何定义一个简单的嵌套列表,其中包含了三个子列表,每个子列表又分别存储不同类型的信息[^2]。 ### 访问嵌套列表元素 访问嵌套列表中的特定元素可以通过多重索引来实现: ```python print(nested_list[0][1]) # 输出: banana print(nested_list[1][2]) # 输出: 3 print(nested_list[2][0]) # 输出: red ``` 这里展示的是通过指定外层和内层的索引位置来获取具体项的方法。 ### 修改嵌套列表元素 修改嵌套列表内的值同样遵循类似的双重索引机制: ```python nested_list[0][1] = "orange" print(nested_list) # 结果将是: # [['apple', 'orange', 'cherry'], [1, 2, 3], ['red', 'green', 'blue']] ``` 这段代码说明了更改现有条目的方式,并显示更新后的整个嵌套列表。 ### 使用列表推导式操作嵌套列表 利用列表推导式的强大功能可以简化对嵌套列表的操作。例如,如果想要扁平化一个多维度的列表,则可以用如下方法: ```python flattened = [item for sublist in nested_list for item in sublist] print(flattened) # 输出: ['apple', 'banana', 'cherry', 1, 2, 3, 'red', 'green', 'blue'] ``` 此例子中应用到了所谓的“列表推导式”,它提供了一种简洁而高效的语法用于构建新的列表[^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿游也

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值