如何计算列表列表中某个位置的特定元素的出现次数?

时间:2017-02-16 22:47:42

标签: python python-2.7

例如,

a=[[a, 1], [b, 1], [1, 1]]

我想找到有多少“1”,但只有那些是嵌套列表中的第二个元素。所以它应该给我3,忽略第三个列表中的“1”,因为它是列表中的第一个元素。

3 个答案:

答案 0 :(得分:3)

使用collections.Counter子类计算任何值的出现次数:

import collections

a = [['a', 1], ['b', 1], [1, 1]]
counts = collections.Counter((l[1] for l in a))

print(counts[1])   # 3

答案 1 :(得分:2)

您可以使用生成器和sum()

>>> a = [['a', 1], ['b', 1], [1, 1]]
>>> sum(ele[1] == 1 for ele in a)
3

答案 2 :(得分:1)

您可以使用: -

[item for sub_list in a[1:] for item in sub_list].count(1) # 3