所以我有一个包含几个数字的数组。当我的脚本运行时,越来越多的数字被附加到该数组中。但是,我对所有数字都不感兴趣,只想跟踪最近的5个数字。
目前,我只是将所有数字存储在数组中。但是,这个数组真的很大,并且充满了不必要的信息。
我考虑过要制作一个函数,当它向数组添加一个元素时,如果数组已经包含5个数字,它也会删除最后一个元素。
我还考虑过要创建一个新类来创建符合我想要的数据结构。但是,我只需要偶尔引用此数组,并且只是脚本的一小部分。因此,如果我创建一个全新的类来完成此任务,我认为这是矫over过正。
做这个的最好方式是什么?
最佳答案
尝试使用双端队列:
http://docs.python.org/library/collections.html#deque-objects
“如果未指定maxlen或为None,则双端队列可能会增长到任意长度。否则,双端队列将被限制为指定的最大长度。一旦限制长度的双端队列已满,则在添加新项目时,将有界长度双端队列提供了与Unix中的尾部过滤器类似的功能。它们也可用于跟踪仅关注最近事件的事务和其他数据池。”
关于python - 以任何方式跟踪python中的最后5个数据点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3261090/