一次打印一个Python deque项目,其中包含所有项目

时间:2016-01-06 08:01:42

标签: python function python-3.x deque

我创建了deque h = collections.deque()并在其中添加了数字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()

我想知道的是,我如何打印出一次增加一个deque项目,每次它还打印出之前的所有项目?例如,每次调用Numbers_deque时,我第一次要它打印deque([1]),然后第二次打印deque([1,2]),然后第三次打印deque([1,2,3]) class Region(Base): __tablename__ = 'region' id = db.Column(db.Integer, primary_key=True) class District(Base): __tablename__ = 'district' id = db.Column(db.Integer, primary_key=True) region_id = db.Column(db.Integer, ForeignKey(Region.id)) region = relationship(Region) 等等。我该怎么做?

1 个答案:

答案 0 :(得分:1)

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

import collections


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

Numbers_deque()

但是如果要返回deque并在函数外部使用它,请小心。然后你应该复制一份