对于一个队列,有没有标准的库数据结构,当一个项从队列的另一端弹出时,它会自动重新加入到队列的另一端?这感觉像是一个常见的问题,所以我想可能有一个简单的数据结构可以做到这一点
例如:
from collections import deque
from time import sleep
queue = deque([1, 2, 3, 4, 5, 6, 7, 8])
while True:
item = queue.pop()
queue.appendleft(item)
print(item)
sleep(5)
上面的代码实际上是最优的,还是有更好的方法来解决这个问题?
在循环的每次迭代中使用一个列表并修改一个索引值来更改访问列表中的哪个位置会更好吗
退房
https://docs.python.org/2/library/itertools.html#itertools.cycle
这可能会满足您的需要,而且效率很高
deque.rotate()
“collections.deque”可以像列表一样编制索引,并具有rotate方法
你所做的叫做旋转。Deque将此作为一个内置项:^{}
用法:
相关问题 更多 >
编程相关推荐