我正在开始使用 python,我正在尝试使用一个二维列表,我最初在每个地方都用相同的变量填充。我想出了这个:
def initialize_twodlist(foo):
twod_list = []
new = []
for i in range (0, 10):
for j in range (0, 10):
new.append(foo)
twod_list.append(new)
new = []
它给出了预期的结果,但感觉像是一种解决方法。有没有更简单/更短/更优雅的方法来做到这一点?
最佳答案
不要使用[[v]*n]*n
,这是个陷阱!
>>> a = [[0]*3]*3
>>> a
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
>>> a[0][0]=1
>>> a
[[1, 0, 0], [1, 0, 0], [1, 0, 0]]
但是
t = [ [0]*3 for i in range(3)]
效果很好。
关于python - 如何在 Python 中初始化一个二维数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2397141/