【发布时间】:2018-07-29 05:02:55
【问题描述】:
有没有办法将列表的元素添加到双端队列列表中,然后使用队列,然后弹出其中的元素?假设我有清单:
a = [4,-1,4,1,1]
我想按顺序添加。首先将-1添加到队列中,然后通过其他方式运行它弹出-1,然后添加1s运行它然后弹出其中的元素,然后4s运行队列然后弹出其中的元素。
【问题讨论】:
-
from collections import deque; b = deque(a)
有没有办法将列表的元素添加到双端队列列表中,然后使用队列,然后弹出其中的元素?假设我有清单:
a = [4,-1,4,1,1]
我想按顺序添加。首先将-1添加到队列中,然后通过其他方式运行它弹出-1,然后添加1s运行它然后弹出其中的元素,然后4s运行队列然后弹出其中的元素。
【问题讨论】:
from collections import deque; b = deque(a)
目前还不清楚你到底想做什么。您应该包含更多您尝试实现的代码。
您可以对您的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()
【讨论】: