为什么我的列表中的元素变成了无?

我正在尝试将列表中的项目全部添加,然后将它们放入二维列表中。这是我的代码,我在其中尝试遍历列表两次:


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)

每当我运行它时,它就会卡在“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] = summ

print(m)

这是输出:


0

None

[None, 3, 5, 7, 9]

1

None

[None, None, 5, 7, 9]

为什么会发生这种情况,我该如何阻止它?


隔江千里
浏览 118回答 1
1回答

翻过高山走不出你

尝试这个 :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)# [[10, 12, 14, 16, 16], [10, 12, 14, 16, 16]]l在声明m.
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python