将2d数组复制到另一个数组时出错

时间:2016-05-24 09:43:42

标签: python arrays

我是Python的初学者。我试图将2d数组(a)复制到另一个数组(b)但是得到错误&#int; int对象不支持赋值'。我知道可能有其他功能可供复制,但在这里我试图了解python。有人可以指出下面的代码有什么问题。

a = [[1,2,3],[4,5,6],[7,8,9]]
b = []
for row in a:
    newrow = [0] * len(row)
    b += newrow


for i in range(len(a)):
    for j in range(len(a[i])):
        b[i][j] = a[i][j]

1 个答案:

答案 0 :(得分:0)

您的b是一维列表,因为您正在扩展它而不是追加。改变行

b += newrow

b.append(newrow)

话虽这么说,你可以轻松地将一个数组复制到另一个数组中:

a = [[1,2,3],[4,5,6],[7,8,9]]
b = a[:]

或使用内置的copy模块:

import copy
a = [[1,2,3],[4,5,6],[7,8,9]]
b = copy.copy(a)