问题
我正在为我的迷宫求解器开发一个广度优先搜索算法,并且它工作至今。我通过复制前一个并追加当前值来跟踪当前堆栈。创建列表的多个副本的最快方法
由于复制列表需要大量的时间,我想在一个操作中创建列表的多个副本。
我到目前为止已经
复制列表尝试,并将其分配给多个变量。
l = [1, 2, 3] a = b = c = l[:] # Just creates references and no individual lists
使用numpy的阵列,
copy
功能(除了list[:]
更快)。
问题
什么是创建一个列表的多个副本最快的方法?
你真的需要清单吗?我通常会为这样的应用程序寻找[意大利面条堆栈](https://en.wikipedia.org/wiki/Parent_pointer_tree),并且只有在找到目标后才创建列表,如果我需要列表。 – user2357112
你正在使用'l [:]',所以我假设你想要一个浅拷贝? – stybl
@ user2357112我不需要列表。我将使用哪种数据结构来保存这样的堆栈?一本字典? – jsmolka