计算python Deque中的元素

时间:2014-02-23 21:15:16

标签: python count deque

我试图计算deque deque.count(1))中的1个值,但出现以下错误:

'deque' object has no attribute 'count'  

我假设我正在使用的是第一次引入deque.count()函数时的2.7之前的Python版本。

除了使用for循环之外,计算deque中有多少1的最有效/最快的方法是什么?

2 个答案:

答案 0 :(得分:1)

“没有循环”的要求很奇怪,但如果你很好奇......

len(filter(lambda x: x == 1, d))

答案 1 :(得分:0)

我知道你没有要求for循环,但我认为没有其他办法:

def count(dq, item):
    return sum(elem == item for elem in dq)

例如:

>>> from collections import deque
>>> d = deque([1, 2, 3, 1])
>>> count(d, 1)
2