查找 Python 列表中最常见的元素
在 Python 中,识别列表中最常出现的元素是一项常见的编程任务。但是,当元素不可散列时,这会成为一个挑战,从而阻止使用字典。
解决方案
一种有效的解决方案涉及使用带有自定义键的 max 函数。 max 函数通常根据元素的内在属性来比较元素,但我们可以通过提供自定义键来重新定义此行为,以便于根据元素的频率进行比较。
这是 Python 中的简洁实现:
def most_common(lst): return max(set(lst), key=lst.count)
此解决方案首先从输入列表创建一个集合,该集合会自动消除重复项,同时保留元素的顺序。然后,使用 lst.count 方法作为键,将 max 函数应用于该集合。 lst.count 方法返回原始列表中每个元素出现的次数。通过使用此方法作为键,max 函数可以根据元素的频率对元素进行有效排名。
如果出现平局,max 函数将选择原始列表中索引最低的元素。此行为确保在给定的示例中,most_common(['duck', 'duck', 'goose']) 将正确返回 'duck'。
此解决方案提供了一种简单而有效的方法来查找Python 列表中最常见的元素,即使这些元素不可散列。
以上是如何查找 Python 列表中最常见的元素,即使它们不可散列?的详细内容。更多信息请关注PHP中文网其他相关文章!