Discuss / Python / 关于有序Dict

关于有序Dict

Topic source

CabinZhao

#1 Created at ... [Delete] [Delete and Lock User]
if len(self) - containsKey >= self._capacity:

这行代码与下面的是等价的

if len(self) >= self._capacity and containsKey == 0:

作者这里把简单的问题复杂化了

大于号完全没有必要改成这样就可以了

if len(self) = self._capcity and containsKey == 0:

这样设置永远不会有len(self)大于容量的时候,因为当他等于容量的时候后面的代码就会开始清除容量内容了,里面有的key就用del删除该key和它的value并且用__setitem__方法在字典最后重新放一个key并赋值value,里面没有就用ordereddict的popitem(Last=False)方法删除最前面的key和它的value。

楼上的说得不对,当key已经存在时,只是把key对应的value删除而已,key没删除

跫音窗帷

#4 Created at ... [Delete] [Delete and Lock User]

同意世界观的观点

ASAPUo

#5 Created at ... [Delete] [Delete and Lock User]

<div> >=的写法还是很普遍的吧,为了保险 </div>

这里的 大于号 看的我很懵逼,卡这里半天


  • 1

Reply