社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

python,打印输入中出现最多的单词或字母[关闭]

Anon123 • 5 年前 • 1335 次点击  

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

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
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/38147
 
1335 次点击  
文章 [ 2 ]  |  最新文章 5 年前
U10-Forward
Reply   •   1 楼
U10-Forward    6 年前

你也可以 max 具有 key argument ,那么列表理解就需要计算所有这些,因为 最大值 只需要一个:

>>> 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']
>>> 
magegaga.com
Reply   •   2 楼
magegaga.com    6 年前

你能告诉我你试过什么吗?遵循代码片段可能会对您有所帮助

 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)