猿问

Python,从输入中打印出现次数最多的单词或字母

我不知道我的问题是否重复,因为我真的找不到正确的答案。我想在新行上打印最常用的单词或数字。但是,如果频率相同,则打印两个单词/数字。


Input: green green green orange orange yellow


Output: green



Input: green green green orange orange orange yellow


Output: green 

        orange



Input: 1 1 2 2 3 3 4


Output: 1

        2

        3



Input: 1 1 1 2 2 3 3


Output: 1


回首忆惘然
浏览 246回答 2
2回答

青春有我

你能说出你尝试过什么吗?跟随片段可能会对你有所帮助 words = ['green', 'green','green', 'yellow'] from collections import Counter counts = Counter(words) top = [k for k, _ in   counts.most_common(list(counts.values()).count(max(counts.values())))] print(top)

慕工程0101907

你也可以max用keyargument,然后列表推导采用所有有计数的,因为max只需要一个:>>> words = ['green', 'green','green', 'yellow','orange','orange','orange']>>> list(set([i for i in words if words.count(i) == words.count(max(words,key=words.count))]))['green', 'orange']>>> 
随时随地看视频慕课网APP

相关分类

Python
我要回答