gpt4 book ai didi

python - 在复杂列表中查找最大值 - Python

转载 作者:行者123 更新时间:2023-11-28 22:51:04 25 4
gpt4 key购买 nike

我有一个列表 a = [('b', 1), ('k',3), ('g',2), ('p',3)...]第一个元组是一个字母,第二个元组是该字母出现频率的计数。我试图找到一个字母的最大出现次数(可以不止一个,即 k=3 和 p =3)并返回最接近“a”的字母。

我目前的逻辑是:找到最高计数 -> 制作另一个列表,只追加具有第二个元组 = 最高计数的元素 -> 对列表排序 -> 返回第一个元素的第一个元组。

如果有更好的方法在 Python 中执行此操作(我相信有),我会洗耳恭听!

但无论哪种方式,在 Python 中找到最高计数的最有效方法是什么?

目前我正在使用以下方法,但它返回的是列表元素而不是数字。

max(a, key=operator.itemgetter(1))

最佳答案

只需将您的列表排序为具有反向计数和字符的 2 元组键:

>>> a = [('b', 1), ('k',3), ('g',2), ('p',3)] 
>>> sorted(a, key=lambda t:(-t[1], t[0]))
[('k', 3), ('p', 3), ('g', 2), ('b', 1)]

或使用 min 和相同的 key :

>>> min(a, key=lambda t:(-t[1],t[0]))
('k', 3)

关于python - 在复杂列表中查找最大值 - Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22075448/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com