Use collections.Counter() https://docs.python.org/2/library/collections.html#collections.Counter计算出现的次数:
from collections import Counter
Output = Counter(t[0] for t in TupleOfTuples).items()
A Counter()
是一个字典,其中键映射到计数;通过传入生成器表达式,它会为您进行计数。因为它是字典子类,dict.items()
然后可以用来生成一个列表(key, count)
tuples.
这确实产生了list;只需致电tuple()
如果你坚持在这里有一个元组的话。
Demo:
>>> from collections import Counter
>>> TupleOfTuples = ( ('Venue1', 'Name1'), ('Venue1', 'Name2'), ('Venue2', 'Name3'), ('Venue3', 'Name4'), ('Venue3', 'Name5'), ('Venue3', 'Name6') )
>>> Counter(t[0] for t in TupleOfTuples).items()
[('Venue1', 2), ('Venue3', 3), ('Venue2', 1)]