Skip to main content
 首页 » 编程设计

python之获取列表中的最大元组

2025年05月04日15yjmyzz

我有一个元组列表,可以理解为键值对,其中一个键可以出现多次,可能有不同的值,例如

[(2,8),(5,10),(2,5),(3,4),(5,50)] 

我现在想获得每个键值最高的元组列表,即

[(2,8),(3,4),(5,50)] 

键的顺序无关紧要。

我如何以有效的方式做到这一点?

请您参考如下方法:

对它们进行排序,然后转换为字典并再次从中取出项目:

l = [(2,8),(5,10),(2,5),(3,4),(5,50)] 
list(dict(sorted(l)).items()) #python3, if python2 list cast is not needed 
[(2, 8), (3, 4), (5, 50)] 

这个想法是,当转换为过滤每个键的最低值的字典时,键值对将按升序更新,然后您只需将其作为元组。