是否有将列表元素添加到双端队列表中,然后使用队列然后弹出其中的元素?说我有清单:
a = [4,-1,4,1,1]
我想按顺序添加它。首先将-1添加到队列然后通过其他东西弹出-1,然后添加1s运行它然后弹出其中的元素,然后4s运行队列然后弹出其中的元素。
答案 0 :(得分:0)
目前还不清楚你究竟想做什么。您应该包含更多来自您尝试实施的代码。
您可以对list
进行反向排序,并将其逐步添加到deque
。
from collections import deque
a = [4, -1, 4, 1, 1]
sorted_a = sorted(a, reverse=True)
a_deque = deque()
a_deque.append(sorted_a.pop())
如果您想按照上述方式使用deque
,这可能就是您所寻找的:
# Reverse sorts a list so that calling pop()
# pop's elements "in order".
a_sorted_list = sorted(a, reverse=True)
a_reverse_sorted_deque = deque(a_sorted_list)
a_reverse_sorted_deque.pop()
# A regularly sorted list would require you to
# popleft
a_sorted_deque = deque(sorted(a))
a_sorted_deque.popleft()