一千萬個為什麽

搜索

Python - 在嵌套列表的第二列中查找最大值

我有這樣的清單

alkaline_earth_values = [['beryllium', 4], ['magnesium', 12],['calcium', 20], ['strontium', 38], ['barium', 56], ['radium', 88]]

如果我只使用 max(list)方法,它將返回答案strontium,如果我試圖找到最大名稱,這將是正確的,但是我試圖返回其整數的元素是最高的。

最佳答案

max(alkaline_earth_values, key=lambda x: x[1])

這樣做的原因是因為 max 函數的 key 參數指定了當 max 想要知道的值時調用的函數將搜索最大元素。 max 將為序列中的每個元素調用該函數。並且“lambda x:x [1]”創建一個小函數,它接收一個列表並返回第一個(從零開始計數)元素。所以

k = lambda x: x[1]

就像說的一樣

def k(l):
  return l[1]

但在這種情況下使用更短更好。

轉載註明原文: Python - 在嵌套列表的第二列中查找最大值