我有名字、名字和姓氏的列表。
如何计算大于 3 的姓氏数。
import collections
names = [['Fiona','Murray'],
['Diane','Springer'],
['Dylan','Oliver'],
['Alison','McDonald'],
['Sophie','Peters'],
['Kevin','Davidson'],
['David','Marshall'],
['Jake','Lewis'],
['Thomas','Burgess'],
['Fiona','Murray'],
['Fiona','Murray'],
['Fiona','Murray'],
['Fiona','Murray'],
['Dylan','Oliver'],
['Dylan','Oliver'] ]
lst1 = [(a,b) for (a,b) in collections.Counter(map(tuple,names)).iteritems()]
我尝试了列表理解,但无法获得大于 3 的姓氏。
最佳答案
您可以使用 collections.Counter
:
from collections import Counter
counter = Counter([item[1] for item in names])
keys = [key for key, value in counter.items() if value > 3]
print(keys)
将打印:
['Murray']
关于python计算元组列表的一个字段中的三次重复次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32469591/