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

dav*_*upt 28 python nested element list max

我有一个这样的列表:

alkaline_earth_values = [['beryllium', 4], ['magnesium', 12],['calcium', 20],
                         ['strontium', 38], ['barium', 56], ['radium', 88]]
Run Code Online (Sandbox Code Playgroud)

如果我只是使用该max(list)方法,它将返回答案'strontium',如果我试图找到最大名称,这将是正确的,但是我试图返回其整数最高的元素.

kyn*_*tto 57

max(alkaline_earth_values, key=lambda x: x[1])
Run Code Online (Sandbox Code Playgroud)

这样做的原因是因为max函数的key参数指定了当max想要知道将搜索最大元素的值时调用的函数.max将为序列中的每个元素调用该函数.并创建一个小函数,它接收一个列表并返回第一个(从零开始计数)元素.所以lambda x: x[1]

k = lambda x: x[1]
Run Code Online (Sandbox Code Playgroud)

就像说的一样

def k(l):
  return l[1]
Run Code Online (Sandbox Code Playgroud)

但在这种情况下使用更短更好.


Ign*_*ams 7

使用key参数.

max(alk..., key=operator.itemgetter(1))
Run Code Online (Sandbox Code Playgroud)