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