元組我有一個列表:掌握最大第二成分值
l = [("abc",0.9), ("abc1",0.95), ("abc2",0.8), ("abc3",0.9)]
我想獲得最高的第二元組值的元組, 即
("abc1", 0.95)
什麼是最好的辦法做到這一點?
元組我有一個列表:掌握最大第二成分值
l = [("abc",0.9), ("abc1",0.95), ("abc2",0.8), ("abc3",0.9)]
我想獲得最高的第二元組值的元組, 即
("abc1", 0.95)
什麼是最好的辦法做到這一點?
您可以簡單地使用max
功能,與key
參數作爲可以給每個元組進行比較的第二個元素的功能,這樣
print max(l, key=lambda x: x[1])
# ('abc1', 0.95)
否則,你可以使用內置的itemgetter
運營商,像這樣
from operator import itemgetter
print max(l, key=itemgetter(1))
# ('abc1', 0.95)
你會使用key
參數來max()
function:
max(l, key=lambda i: i[1])
您還可以使用operator.itemgetter()
在這裏產生一個可調用:
from operator import itemgetter
max(l, key=itemgetter(1))
演示:
>>> l=[("abc",0.9),("abc1",0.95),("abc2",0.8),("abc3",0.9)]
>>> max(l, key=lambda i: i[1])
('abc1', 0.95)
>>> from operator import itemgetter
>>> max(l, key=itemgetter(1))
('abc1', 0.95)
使用的內置max
功能key
關鍵字參數:你可以通過它的功能它查看索引1處的元素(即,第二元素)的元組:
>>> max(l, key=lambda x: x[1])
("abc1", 0.95)