编辑Python中的列表列表列表

13 浏览
0 Comments

编辑Python中的列表列表列表

我试图编辑我的列表的列表的列表,但是它却编辑了多个元素。

希望得到的结果是[[[5, 0], [0, 0]], [[0, 0], [0, 0]]],

但实际得到的是[[[5, 0], [0, 0]], [[5, 0], [0, 0]]]。

看起来我是在编辑原始列表。有人能解释如何编辑单个元素或设置嵌套列表以避免这种情况吗?

非常感谢。

0
0 Comments

在Python中,有时候我们可能会遇到一个问题,即在编辑列表的列表的列表时出现了一些意外的情况。例如,在下面的代码中:

L2 = [[[0,0] for count in range(2)] for count in range(2)]

我们创建了一个包含两个列表的列表,每个列表包含两个数字0的列表。然而,当我们尝试编辑内部的列表时,会发现每次编辑都会重新创建一个新的列表。这是因为在每次循环迭代中,内部的[[0,0] for count in range(2)]都会被重新创建为一个独立的新列表。

这种问题在与已经被复制的列表相关的问题中经常出现,例如[[0] * 2] * 2。但是,这里的情况稍有不同。

为了解决这个问题,我们可以使用不同的方法来创建列表。例如,我们可以使用嵌套循环来手动创建每个内部列表,并确保它们是独立的。下面是一种解决方法:

L2 = []
for count in range(2):
    inner_list = []
    for count in range(2):
        inner_list.append([0, 0])
    L2.append(inner_list)

通过这种方法,我们可以确保每个内部列表都是独立的,并且在编辑其中一个列表时不会影响其他列表。

总之,当我们在Python中编辑列表的列表的列表时,我们需要注意在每次循环迭代中重新创建内部列表的问题。通过手动创建每个内部列表并确保它们是独立的,我们可以解决这个问题。

0