我正在尝试将列表中的项目全部添加,然后将它们放入二维列表中。这是我的代码,我在其中尝试遍历列表两次:l = [1,3,5,7,9]m = [l,l]for i in range(len(l)): for j in range(len(l)): if i != j: summ = l[i] + l[j] m[0][i] = summ m[1][j] = summprint(m)每当我运行它时,它就会卡在“summ = l[i] + l[j]”这一行上,说一个 NoneType 对象和一个 int 不能加在一起,即使我的列表中没有 NoneType 对象。然后,我编辑了代码以在出现问题时打印列表中的内容:l = [1,3,5,7,9]m = [l,l]for i in range(len(l)): for j in range(len(l)): if i != j: if l[i] == None: print(i) print(l[i]) print(l) break if l[j] == None: print(l) print(j) print(l[j]) break summ = l[i] + l[j] m[0][i] = summ m[1][j] = summprint(m)这是输出:0None[None, 3, 5, 7, 9]1None[None, None, 5, 7, 9]为什么会发生这种情况,我该如何阻止它?
1 回答
翻过高山走不出你
TA贡献1875条经验 获得超3个赞
尝试这个 :
l = [1,3,5,7,9]
m = [l[:],l[:]]
for i in range(len(l)):
for j in range(len(l)):
if i != j:
summ = l[i] + l[j]
m[0][i] = summ
m[1][j] = summ
print(m)
# [[10, 12, 14, 16, 16], [10, 12, 14, 16, 16]]
l在声明m.
添加回答
举报
0/150
提交
取消