从列表中的列表中获取最大值

阿秀

我有一个l1包含多个列表的列表,这些列表包含一个带数字的字母。对于每个字母,我想得到编号最高的那对。

l1 = [['A', 4.54], ['A', 1.23], ['B', 1.23], ['A', 9.23], ['B', 6.23], ['C', 10.55]]

这就是我想要得到的:

l2 =[['A', 9.23], ['B', 6.23], ['C', 10.55]]

我似乎无法解决这个问题。有什么建议 ?

胡安帕·阿里维利亚加

只需使用adict将结果分组即可:

>>> result = {}
>>> for letter, number in l1:
...     result[letter] = max(number, result.get(letter, number))
...
>>> result
{'A': 9.23, 'B': 6.23, 'C': 10.55}

如果必须使用list,请使用:

>>> list(result.items())
[('A', 9.23), ('B', 6.23), ('C', 10.55)]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章