Python二维数组初始化常犯的错误
创建一个二维数组:
test_list = [[]] * 4
然后,向第一个列表中插入数值:
test_list[0].append(1)
print test_list
此时会出现:
[[1],[1],[1],[1]]
这说明这种创建数组的方式是浅拷贝,真正要形成我们需要的二维数组,需要:
test_list = [[] for i in xrange(0, 4)]
test_list[0].append(1)
print test_list
得到:
[[1],[],[],[]]