Python 列表嵌套是一种强大的数据结构,允许你在列表中存储其他列表。这种结构特别适用于处理多维数据,如矩阵或表格数据。以下将介绍如何创建和操作嵌套列表。
1. 创建嵌套列表
直接定义:最简单的方式是直接在列表中嵌套另一个列表。
python复制nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] print(nested_list)
输出:
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
使用循环:通过循环创建嵌套列表,适合动态生成结构。
python复制rows = 3 cols = 3 nested_list = [[0 for _ in range(cols)] for _ in range(rows)] print(nested_list)
输出:
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
2. 展开嵌套列表
列表推导式:快速将嵌套列表展平。
python复制flat_list = [item for sublist in nested_list for item in sublist] print(flat_list)
输出:
[1, 2, 3, 4, 5, 6, 7, 8, 9]
使用
itertools.chain
:通过迭代器将嵌套列表展平。python复制import itertools flat_list = list(itertools.chain.from_iterable(nested_list)) print(flat_list)
输出:
[1, 2, 3, 4, 5, 6, 7, 8, 9]
3. 提取嵌套列表中的元素
- 通过索引访问:嵌套列表中的元素可以通过多层索引访问。
python复制
输出:element = nested_list[1][2] print(element)
6
4. 排序嵌套列表
- 按子列表元素排序:可以使用
sort()
函数和lambda
表达式。python复制
输出:nested_list.sort(key=lambda x: x[1]) print(nested_list)
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
(按子列表第二个元素升序排序)
5. 总结
Python 列表嵌套是处理复杂数据的有效方式。通过直接定义、循环或列表推导式,可以轻松创建嵌套列表。展开嵌套列表的方法包括列表推导式和 itertools.chain
。通过索引和排序操作,可以方便地处理嵌套列表中的数据。掌握这些技巧将显著提升你的 Python 编程能力!