我试图计算deque
(即 deque.count(1)
)中的1个值,但出现以下错误:
'deque' object has no attribute 'count'
我假设我正在使用的是第一次引入deque.count()
函数时的2.7之前的Python版本。
除了使用for
循环之外,计算deque
中有多少1的最有效/最快的方法是什么?
答案 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