【发布时间】:2016-01-06 08:01:42
【问题描述】:
我已经创建了双端队列 @987654321@ 并在其上附加了数字 1-10,并将函数 print(h) 包含在用户定义的函数 Numbers_deque() 中。具体来说,我是这样做的:
import collections
def Numbers_deque():
h = collections.deque()
j = (1,2,3,4,5,6,7,8,9,10)
h.append(j)
print(h)
Numbers_deque()
我想知道的是,我如何打印出一次增加一个的双端队列项目,并且每次它还打印出它之前的所有项目?例如,每次调用Numbers_deque,第一次我希望它打印deque([1]),然后第二次它应该打印deque([1,2]),然后第三次它应该打印deque([1,2,3]),依此类推。我该怎么做?
【问题讨论】:
-
拨打
Numbers_deque超过10次怎么办? -
deque包含一个带有 10 个数字的tuple。它真的是一个有 10 个数字的deque吗?您将使用h.extend而不是h.append。 -
例如要获得
deque([1,2,3]),您必须创建一个新的deque,其中仅包含1、2和3元素 -
这些要求很奇怪。你想达到什么目的?你需要一些状态,要么是全局的,要么是以某种方式捕获的,也许是一个生成器。可能有一种更简单的方法可以实现您真正需要的东西。全局变量通常是邪恶的,为了让生成器工作而必须跳过的圈子会产生非常复杂的代码。
-
你为什么需要
deque?
标签: python function python-3.x deque