在我的代码,我有嵌套列表gamelist
,定义为的Python:追加嵌套列表的副本列出
gamelist = [['3'], ['2'], ['1']]
该计划的目的是处理内部列表作为堆栈,附加小元素包含较大元素或空堆栈的堆栈,在列表中清扫和不重复移动。理论上这个游戏应该去:
[['3'], ['2'], ['1']]
[['3'], ['2', '1'], []]
[['3', '1'], ['2'], []]
[['3', '1'], [], ['2']]
依此类推,直到列表排序从最小到最大。
为了检查当前的移动对先前的移动,我创建了pastmoves
,每移动后都有一个gamelist
的副本。
pastmoves.append(gamelist[:])
所以pastmoves
后应
[[['3'], ['2'], ['1']]]
[[['3'], ['2'], ['1'], [['3'], ['2', '1'], []]]
等各个连续移动阅读。
我的问题是,虽然游戏列表被复制,列表嵌套在其中都没有了,pastmoves
看起来是这样的后两个动作:
[[['3'], ['2', '1'], []], [['3'], ['2', '1'], []]]
我想使它使所有的底层值也是副本,并保持静态,因为gamelist
更改。我怎样才能做到这一点?
我想我应该通过标准库可能读取。非常感谢您的帮助。 – user1576628 2013-02-25 17:15:16