首页 > 解决方案 > 无法创建给定大小的必需列表

问题描述

a=[[None]*3]
a=a*3
k=0
for i in range(3):
    for j in range(3):
        a[i][j]=k
        print(a)
        k=k+1
print(a)

我希望输出为 [[0,1,2],[3,4,5],[6,7,8]]。我得到的是 [[6,7,8],[6,7,8],[6,7,8]]

标签: pythonpython-3.xlistnonetype

解决方案


错误是影响每个列表元素的变量的引用更改。采用以下方法。

n,m = 3, 3
a = [[0] * m for i in range(n)]
k=0
for i in range(3):
    for j in range(3):
        a[i][j]=k
        k=k+1
print(a)

推荐阅读