我也遇到过同样的问题。。。由于访问速度/可靠性问题,不支持来自deque的maxlen=5选项。
简单解决方案:l = []
l.append(x) # add 'x' to right side of list
l = l[-5:] # maxlen=5
附加后,只需将“l”重新定义为“l”的最新五个元素。print(l)
结束吧。
为了你的目的你可以停在那里。。。但我需要一个popleft()。而pop()则从右边刚附加的位置删除项。。。pop(0)将其从左侧移除:if len(l) == 5: # if the length of list 'l' has reached 5
right_in_left_out = l.pop(0) # l.popleft()
else: #
right_in_left_out = None # return 'None' if not fully populated
给Tradewave.net的James的帽子小费
不需要类函数或deque。
更进一步。。。附加左键和右键:l = []
l.insert(0, x) # l.appendleft(x)
l = l[-5:] # maxlen=5
如果您想在不使用deque的情况下预先加载列表,那么appendleft()就相当于
最后,如果你选择从左边附加。。。if len(l) == 5: # if the length of list 'l' has reached 5
left_in_right_out = l.pop() # pop() from right side
else: #
left_in_right_out = None # return 'None' if not fully populated