問題
私は迷路ソルバのための幅優先探索アルゴリズムに取り組んでいます。私は、現在のスタックを追跡しています。前のスタックをコピーし、現在の値を追加します。リストの複数のコピーを作成する最速の方法
コピーリストには長い時間がかかりますので、1回の操作でリストの複数のコピーを作成したいと思います。私は、リストをコピーして複数の変数に代入し、これまで
を試してみた何
。
copy
関数(list[:]
より速い)とl = [1, 2, 3] a = b = c = l[:] # Just creates references and no individual lists
使用numpyのアレイ。
質問
つのリストの複数のコピーを作成するための最速の方法は何ですか?
本当にリストが必要ですか?私は通常、このようなアプリケーションのために[スパゲティスタック](https://en.wikipedia.org/wiki/Parent_pointer_tree)に行き、リストが必要な場合は、目標を見つけたらリストを作成します。 – user2357112
'l [:]'を使っているので、浅いコピーが必要だと思いますか? – stybl
@ user2357112私は必ずしもリストを必要としません。どのようなデータ構造を使用すれば、そのようなスタックの保存を追跡できますか?辞書? – jsmolka