一次打印 Python 个双端队列项目,所有项目都在它之前

Print Python deque items one at a time with all items before it

我创建了双端队列 h = collections.deque() 并向其附加了数字 1-10 并将其包含在用户定义函数 Numbers_deque() 中的函数 print(h) 中。具体来说,我是这样做的:

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]),然后第三次打印 [=18] =] 依此类推。我该怎么做?

您可以将双端队列作为默认参数启动。然后它只执行一次并在每次调用该函数时重复使用。

import collections


def Numbers_deque(h = collections.deque()):
    if len(h) >= 10:
        h.clear()
    h.append(len(h)+1)
    print(h)

Numbers_deque()

但是,如果您要 return 双端队列并在函数外部使用它,请小心。那你应该复制一份