from operator import itemgetter
from itertools import groupby
[max(items) for key, items in groupby(L,key = itemgetter(1))]
Run Code Online (Sandbox Code Playgroud)
假设您的初始元组列表按键值排序.
groupby创建一个迭代器,它产生对象(0, <itertools._grouper object at 0x01321330>),其中第一个值是键值,第二个是另一个迭代器,它给所有具有该键的元组.
max(items) 只选择具有最大值的元组,并且因为该组的所有第二个值都相同(并且也是键),所以它为元组提供最大的第一个值.
列表推导用于根据这些函数的输出形成元组的输出列表.
| 归档时间: |
|
| 查看次数: |
2487 次 |
| 最近记录: |