您可以使用Counter
from collections import Counter
a = [(1,2),(1,4),(1,2),(6,7),(2,9)]
counter=Counter(a)
print counter
这将输出:
Counter({(1, 2): 2, (6, 7): 1, (2, 9): 1, (1, 4): 1})
它是一个类似字典的对象,其中项目(在本例中为元组)作为键,值包含该键被看到的次数。你的(1,2)
元组被看到两次,而所有其他元组只被看到一次。
>>> counter[(1,2)]
2
如果您对元组的每个单独部分感兴趣,则可以对元组中的每个元素使用相同的逻辑。
first_element = Counter([x for (x,y) in a])
second_element = Counter([y for (x,y) in a])
first_element
and second_element
现在包含一个Counter
看到值的次数每个元素在元组中
>>> first_element
Counter({1: 3, 2: 1, 6: 1})
>>> second_element
Counter({2: 2, 9: 1, 4: 1, 7: 1})
同样,这些是类似字典的对象,因此您可以直接检查特定值出现的频率:
>>> first_element[2]
1
在元组列表的第一个元素中,值2
出现1次。