gpt4 book ai didi

python - 在 Python 中有效地在两个方向上迭代双端队列

转载 作者:太空宇宙 更新时间:2023-11-03 13:40:52 25 4
gpt4 key购买 nike

我有一个双端队列,我们​​称它为deq。我需要从两端对其进行迭代,并且在这些迭代期间我根本不会修改它。

当然,我不想创建另一个双端队列。我考虑过 reversed,但我不知道它是否真的创建了任何副本。例如,如果我写:

reversed_deq = reversed(deq)

它会引用完全相同的内存位置,但只是反向迭代它,而不使用更多的内存/时间吗?

这似乎是双端队列的合乎逻辑的方式,但我想确保我没有遗漏任何东西。

我找不到 deque 的代码(通常它们有这些东西的“python 等价物”,但我找不到),并且出于某种原因 - 无论我运行什么 - timeit 总是给我 15 到 16 ns 之间的时间(对于我尝试计时的所有内容,不仅仅是这个)

最佳答案

来自C source reversed([deque]) 返回一个反向迭代器,没有副本或内存分配。 [deque].reverse() 将原地反转。

关于python - 在 Python 中有效地在两个方向上迭代双端队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31548297/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com