python计算元组列表的一个字段中的三次重复次数

标签 python list list-comprehension

我有名字、名字和姓氏的列表。

如何计算大于 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/

相关文章:

python - 合并列表中的元素(如果它们在某个 unicode 范围内)

python - urllib3 - 无法建立新连接 : [Errno 111]

python - 如何在pygame中制作具有透明背景的表面

python - 如何使用找到值的列标题创建第三列?

r - 将不同列表的子列表组合成数据框列表

Python同时迭代两个列表

Python 列表理解技巧

python - 长度为 4 的字符串中 DNA 字符的所有组合

r - 在嵌套列表上使用 `as.data.frame` 时的列名

python - 列表理解到子列表