使用list.count搜索列表中的多个项目?

时间:2018-07-18 13:48:47

标签: python python-3.x list count

所以说我的代码如下:

Numbers = [1, 2, 3, 4]

Print(Numbers.count(1,2))

我如何使输出返回2?

3 个答案:

答案 0 :(得分:3)

最简单的方法,使用summap

sum(map(Numbers.count, (1,2)))

一旦要计数的元素数量增加,最好使用collections.Counter并从此处添加计数:

 from collections import Counter
 c = Counter(Numbers)
 sum(c[x] for x in (1,2))

后一种方法的主要优点是Counter在一次迭代中获得所有计数,而重复的list.count调用则反复迭代列表。

答案 1 :(得分:3)

重复使用class Main { public static void main(String[] args) { Things apple = new Things("apple", 1); Things dog = new Things("dog", 2); } } 将具有复杂度O(m * n)。不建议这样做。您可以使用list.count完成复杂度为O(m + n)的任务:

collections.Counter

要满足潜在的缺失值,可以使用L = [1, 2, 3, 4] from collections import Counter c = Counter(L) res = sum(map(c.get, [1, 2])) # 2

dict.__getitem__

答案 2 :(得分:0)

count对象的list方法仅接受1个参数。实现您所寻找的最简单的方法是使用简单的加法:

Numbers = [1, 2, 3, 4]
print(Numbers.count(1) + Numbers.count(2))
# outputs 2
相关问题