Python如何创立一个2维列表

3次阅读

python中二维列表本质是列表的列表,推荐用列表推导式初始化(如 [[0 for in range(4)] for in range(3)]),避免[[0]4]3 导致的浅拷贝问题;也可用嵌套 循环 或直接组合已有行数据。

Python 如何创立一个 2 维列表

在 Python 中创建二维列表,本质是“列表的列表”,也就是每个元素本身又是一个列表。最常用、最直观的方式是用列表推导式或嵌套循环初始化。

用列表推导式创建固定大小的二维列表

这是推荐方式,简洁且不易出错(避免引用共享问题):

  • 创建 3 行 4 列、全为 0 的二维列表:grid = [[0 for _ in range(4)] for _ in range(3)]
  • 等价于手动写:[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
  • ⚠️ 注意:不能写成 [[0] * 4] * 3 —— 这会导致三行引用同一个内层列表,修改一行会影响所有行

用嵌套 for 循环动态构建

适合需要根据条件或计算生成元素的场景:

  • grid = []
  • for i in range(3):
  •   row = []
  •   for j in range(4):
  •     row.append(i * j) # 比如存行列乘积
  •   grid.append(row)

从已有数据构造(比如读取csv、矩阵输入)

如果已有每行的数据,可直接组合:

立即学习Python 免费学习笔记(深入)”;

  • row1 = [1, 2, 3]
  • row2 = [4, 5, 6]
  • row3 = [7, 8, 9]
  • matrix = [row1, row2, row3][[1,2,3], [4,5,6], [7,8,9]]

基本上就这些。关键记住:二维列表不是“内置类型”,而是列表嵌套;初始化时优先用列表推导式,避开 * 重复引发的浅拷贝陷阱。

站长
版权声明:本站原创文章,由 站长 2025-12-23发表,共计677字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
1a44ec70fbfb7ca70432d56d3e5ef742
text=ZqhQzanResources