如何创建固定长度列表

时间:2019-12-17 18:05:34

标签: python-3.x list content-length

我正在尝试附加一个列表,其中包含从Websocket接收到的值,以便仅获取前5分钟(300秒,而不是示例中的10秒)的最后一个值。到目前为止,我已经使用过:

      D=[None]*10 #whose length returns 10 then 11, 12 and so on as I update it with new values

      D = []

      for i in range(10):

      D.append(i) #whose length returns 10 then 20, 30 and so on as I update it with new values

关于如何进行的任何想法?如果不可能,我正在考虑创建一个列表,该列表将更新5分钟,然后将其清除并在接下来的5分钟内更新,依此类推。关于这一点,是否可以在特定时间(如13h至13h05)开始添加列表,然后重新启动? 谢谢, Lrd

1 个答案:

答案 0 :(得分:1)

这可以通过collections.deque完成:

>>> from collections import deque
>>> d = deque(maxlen=5)
>>> d.extend([1,2,3,4])
>>> d
deque([1, 2, 3, 4], maxlen=5)
>>> d.append(5)
>>> d
deque([1, 2, 3, 4, 5], maxlen=5)
>>> d.append(9)
>>> d
deque([2, 3, 4, 5, 9], maxlen=5) # the list shifted to the left