【发布时间】:2014-11-18 09:25:05
【问题描述】:
我有一个问题,当我将一维列表作为行多次附加到二维列表时,对二维列表的后续更改会影响所有行。该线程 (Python list confusion) 解释了为什么会出现这种情况 - 基本上每一行都是相同的子列表或对象,因此对该子列表的更改会更改 2D 列表中的每一行。但是,我不知道如何解决它。这是我的例子:
NumOfRows = 100
LanesToCheck = [0, 1, 2, 3]
Lanes = []
for j in range(0,NumOfRows):
Lanes.append(LanesToCheck)
LanesToCheck 用于初始化每一行,其想法是我的脚本的用户可以在一个简单的代码位置更改这个一维列表,并用它初始化整个二维数组。我知道我可以使用:
Lanes.append([0, 1, 2, 3])
但我希望用户可以轻松访问此 LanesToCheck 常量。有没有办法使用这个一维数组初始化我的二维数组,每行都是一个单独的实体?
【问题讨论】: