擅长:python、mysql、java
<p>我将采用以下解决方案:</p>
<pre><code>from collections import deque
q = deque()
for i in range(5):
q.append([i,i+10])
listed_q = list(q)
</code></pre>
<p>现在,您可以通过索引或切片轻松访问这些值:</p>
<pre><code>print listed_q[1] # [1, 11]
print listed_q[1][1] # 11
</code></pre>
<p>因为list()创建了一个q的副本,所以您应该关注队列的维度。执行此操作所需的时间会随着队列长度的增加而增加。另一种方法是使用itertools.islice,在将结果存储在列表中之前,首先对队列进行切片。请查看以下链接(此处还提供了性能度量):</p>
<p><a href="https://stackoverflow.com/questions/7064289/use-slice-notation-with-collections-deque">Use slice notation with collections.deque</a></p>
<p><a href="https://stackoverflow.com/questions/10003143/how-to-slice-a-deque">How to slice a deque? [duplicate]</a></p>