我有一些名称列表,如下所示;
[['mallesham','yamulla'],['mallesham','yamulla'],['yamulla','mallesham']]
在这里,mallesham yamulla和mallesham yamulla的人名被计算为两次,因此输出应该是["mallesham","yamulla"]
第二个例子:
[['Joe','Doe'],['Doe','Joe'],['Doe','Joe'],['Joe','Doe'],['Doe','Joe']]
这里Doe Joe计数为3次,而Joe Doe计数为2次,因此输出将为[‘Doe’,‘Joe’]
在第三种情况下:如果所有名称的计数都与相同,该怎么办
[['Joe','Doe'],['Doe','Joe'],['Doe','Joe'],['Joe','Doe']]
它应该返回任何一个名字,例如Joe Doe。
您可以使用:
from collections import Counter
l = [['Joe','Doe'],['Doe','Joe'],['Doe','Joe'],['Joe','Doe'],['Doe','Joe']]
c = Counter([tuple(x) for x in l]).most_common(1)[0][0]
c
# ('Doe', 'Joe')