首页 > 解决方案 > 列表中具有相同实例数的 Python 最大值

问题描述

我接到的任务是构建一个解析器,它将从 json 文件中提取相关信息,并将其呈现在用户友好的报告中。其中一项功能是根据多数输出识别恶意软件。这应该适用于 n 数量的 json 文件。

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

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

对于我的情况,最常见的()最大()函数将不起作用,因为 json 文件 1 的列表中可能有 5 个元素等于最常见的元素,而 json 文件 2 的列表中可能有 3 个元素,依此类推。这应该适用于任何数量的 json 文件。任何帮助将不胜感激。

标签: pythonmaxinstance

解决方案


利用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)]

推荐阅读