程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Python:深度有限的FIFO——优化问题和回顾大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Python:深度有限的FIFO——优化问题和回顾?

开发过程中遇到Python:深度有限的FIFO——优化问题和回顾的问题如何解决?下面主要结合日常开发的经验,给出你关于Python:深度有限的FIFO——优化问题和回顾的解决方法建议,希望对你解决Python:深度有限的FIFO——优化问题和回顾有所启发或帮助;

再说一次,我是 Python 的新手。我需要一个深度有限的 FIFO。 F.e 深度是 5000,所以在添加 5000 个和更多项目之后,第一个应该被删除以保持其深度为 5000。有时我需要阅读“第一个”,有时需要阅读“最后一个”。如果我读了第一个,那么它应该被删除。

# class
class DictionaryDeque:
from collections import OrderedDict

def __init__(self,dequeDict=10):
    self._stack = OrderedDict()
    self._range = dictRange
    self.setRange(dictRange)
    self._len = 0

def len(self):
    self._len = len(self._stack)
    return self._len

def getRange(self):
    return self._range

def setRange(self,range):
    self._range = range
    # change the dict range if the dict has more items
    self.do_pop()

def add(self,key,value):
    self._stack[key] = value
    self.len()
    self.do_pop()

def stack(self):
    if self._len > 0:
        self.do_pop()
        return self._stack
    else:
        return ""

def last(self):
    self.do_pop()
    if self._len > 0:
        return List(self._stack)[-1]
    else:
        return List(self._stack)[0]

def first(self):
    self.do_pop()
    return List(self._stack)[0]

def do_pop(self):
    while self.len() > self._range:
        self._stack.popitem(last=False)
    self.len()

# end of class

dequeDict = DictionaryDeque(30)

for i in range (0,40):
   Now = str(datetime.datetime.Now())
   dequeDict.add(Now,i)



dequeDict.setRange(10)
print(dequeDict.len())
print(dequeDict.last())
print(dequeDict.first())
print(dequeDict.stack())

我必须实现“首次读取和删除”以及更多功能,但在开始之前,我很想知道这是否可行,还是应该有更好的方法?

有没有办法避免

中的列表部分
List(self._stack)[0]

顺便说一句,这个班级的好名字是什么?

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

大佬总结

以上是大佬教程为你收集整理的Python:深度有限的FIFO——优化问题和回顾全部内容,希望文章能够帮你解决Python:深度有限的FIFO——优化问题和回顾所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: