高效查找列表中最常见的元素
在 Python 中,确定列表中最常出现的元素可能会带来挑战,特别是当列表项不可散列时。为了解决这个问题,我们提出了一种有效的方法,在出现平局的情况下优先考虑索引最低的项目。
考虑以下 Python 函数:
def most_common(lst): return max(set(lst), key=lst.count)
该函数通过消除重复项来操作通过将输入列表转换为集合来获取列表。然后使用 max() 函数来识别集合中计数最高的元素。 key 参数指定比较应基于每个元素的计数,由 lst.count 方法确定。
为了说明这一点,请考虑以下示例:
>>> most_common(['duck', 'duck', 'goose']) 'duck'
在此例如,“duck”出现两次,而“goose”只出现一次。因此,“duck”作为最常见的元素返回。
>>> most_common(['goose', 'duck', 'duck', 'goose']) 'goose'
在这种情况下,“goose”和“duck”都出现两次。然而,由于“goose”具有较低的索引,因此它作为最常见的元素返回。
这种方法可以有效地找到列表中最常见的元素,即使元素不可散列,并且它会优先考虑在平局的情况下索引最低的项目。
以上是如何有效地查找 Python 列表中最常见的元素,即使是不可哈希的项?的详细内容。更多信息请关注PHP中文网其他相关文章!