我不得不从 python 2.7 更改为 2.6。
我一直在使用带有 maxlen 属性的双端队列,并一直在检查 maxlen 是什么。显然你可以在 python 2.6 中使用 maxlen ,但在 2.6 双端队列中没有 maxlen 属性。
在 python 2.6 中检查双端队列的 maxlen 的最干净的方法是什么?
In 2.7:
from collections import deque
d = deque(maxlen = 10)
print d.maxlen
2.6中可以使用deque,maxlen也可以正常工作,但是maxlen不是一个可以引用的属性。
Cheers
我会创建自己的deque
通过继承自collections.deque
。这并不难。也就是说,这里是:
import collections
class deque(collections.deque):
def __init__(self, iterable=(), maxlen=None):
super(deque, self).__init__(iterable, maxlen)
self._maxlen = maxlen
@property
def maxlen(self):
return self._maxlen
这是工作中的新双端队列:
>>> d = deque()
>>> print d
deque([])
>>> print d.maxlen
None
>>> d = deque(maxlen=3)
>>> print d
deque([], maxlen=3)
>>> print d.maxlen
3
>>> d = deque(range(5))
>>> print d
deque([0, 1, 2, 3, 4])
>>> print d.maxlen
None
>>> d = deque(range(5), maxlen=3)
>>> print d
deque([2, 3, 4], maxlen=3)
>>> print d.maxlen
3
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)