我正在尝试附加一个列表,其中包含从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
答案 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