在我的代碼,我有嵌套列表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