社区所有版块导航
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 max

REMANENCE2019 • 6 年前 • 2430 次点击  

对于分配给我的任务,我将构建一个解析器,它将从JSON文件中提取相关信息,并将其呈现在用户友好的报告中。其中一个功能是根据大多数输出识别恶意软件。对n个json文件有效。

我已经成功地解析了一个目录中的所有json文件,并且能够从它提供给它检测到的恶意软件的字段中提取所有相关信息,并将这些信息附加到每个json文件的列表中。从这里可以看出: Lists created

我需要遍历每个列表,在每个列表中找到最频繁的元素,并将最频繁的元素追加到新列表中。

以我为例 最常见() 最大() 函数无法工作,因为json文件1的列表中可能有5个元素等于最常见的元素,json文件2的列表中可能有3个元素,依此类推。这对任何数量的json文件都有效。任何帮助都将不胜感激。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/43629
文章 [ 3 ]  |  最新文章 6 年前
Arkistarvh Kltzuonstev
Reply   •   1 楼
Arkistarvh Kltzuonstev    7 年前

试试这个:

from collections import Counter
a = [('dog'),('dog'),('cat'),('cat'),('fish'),('frog'),('frog')]
ca = Counter(a).most_common()
print([i[0] for i in ca if i[1] == max([i[1] for i in ca])])
# Should print : ['dog', 'cat', 'frog']
Cyrbuzz
Reply   •   2 楼
Cyrbuzz    7 年前

从@rakesh扩展:

from collections import Counter, defaultdict

example = [('dog'),('dog'),('cat'),('cat'),('fish'),('frog'),('frog')]
c = Counter(example)

_c = defaultdict(list)
for field in c.most_common():
    _c[field[1]].append(field[0])

print(_c)
print(max(_c))
print(_c[max(_c)])
-----
defaultdict(<class 'list'>, {2: ['dog', 'cat', 'frog'], 1: ['fish']})
2
['dog', 'cat', 'frog']
Rakesh
Reply   •   3 楼
Rakesh    7 年前

使用 collections.Counter

前任:

from collections import Counter

example = [('dog'),('dog'),('cat'),('cat'),('fish'),('frog'),('frog')]
c = Counter(example)
print(c.most_common(3))

输出:

[('dog', 2), ('frog', 2), ('cat', 2)]