我有一个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] 删除。
我来说两句