python 如何生成二维列表

python 如何生成二维列表

作者:William Gu发布时间:2026-01-14阅读时长:0 分钟阅读次数:7

用户关注问题

Q
如何创建一个固定大小的二维列表?

我想创建一个指定行列数的二维列表,有什么简单的方法吗?

A

使用列表推导式创建二维列表

可以使用列表推导式来生成二维列表,例如:
rows = 3
cols = 4
matrix = [[0 for _ in range(cols)] for _ in range(rows)]
这样就创建了一个 3 行 4 列,初始值为 0 的二维列表。

Q
如何给二维列表中的元素赋值?

创建了一个空的二维列表后,如何给其中的每个元素赋不同的值?

A

通过索引访问并修改元素值

二维列表的元素可以通过 matrix[row][col] 的方式访问和修改,比如:
matrix[1][2] = 5
会把第二行第三列(下标从0开始)的元素赋值为5。

Q
怎样避免创建二维列表时出现引用同一子列表的问题?

我尝试用重复乘法 [ [0]*cols ]*rows 创建二维列表,怎么会导致修改一个元素时,整列都跟着变了?

A

避免使用乘法创建二维列表,采用列表推导式

使用 [ [0]*cols ]*rows 会创建多个对子列表的引用,修改其中一个会影响所有。改用列表推导式可以避免这个问题,如:matrix = [ [0 for _ in range(cols)] for _ in range(rows) ],每行都是独立的列表。