2016-10-25 15 views
0

我有一个列表的Python:列表中的计数元素,并把结果中的元组

["Alfa", "Beta", "Gamma", "Beta", "Alpha"] 

我需要计算元素的repetion在此列表中,并把结果元组的列表降序订购。

如果两个元素的数量是一样的,我需要他们在相反的字母顺序(Z-> A)排序

这是预期的输出

[('Beta', 2), ('Alfa', 1), ('Alpha', 1), ('Gamma', 1)] 

我的想法是开始拆分字符串如下

def count_items(string): 
    wordlist = string.split(' ') 

但我不知道如何继续。

你能帮忙吗?

回答

1

您可以使用内置Counter沿着模块的方法most_common

from collections import Counter 

>>> l = ["Alfa", "Beta", "Gamma", "Beta", "Alpha"] 
>>> Counter(l).most_common() 
>>> [('Beta', 2), ('Alfa', 1), ('Alpha', 1), ('Gamma', 1)] 
相关问题