valor una palabra números numero minimo mayor maximo lista indice encontrar elemento determinar dados conjunto buscar python list nested element max

palabra - Python: encontrar el valor máximo en la segunda columna de una lista anidada



valor maximo de una lista en python (2)

Usa el argumento key .

max(alk..., key=operator.itemgetter(1))

Tengo una lista como esta

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

Si simplemente uso el método max(list) , devolverá el estroncio de la respuesta, que sería correcto si estuviera tratando de encontrar el nombre máximo, sin embargo, estoy tratando de devolver el elemento cuyo número entero es el más alto.


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

La razón por la que esto funciona es porque el argumento clave de la función max especifica una función que se llama cuando max quiere saber el valor por el cual se buscará el elemento máximo. max llamará a esa función para cada elemento de la secuencia. Y "lambda x: x [1]" crea una pequeña función que toma una lista y devuelve el primer elemento (que comienza desde cero). Asi que

k = lambda x: x[1]

es lo mismo que decir

def k(l): return l[1]

pero más corto y agradable de usar en situaciones como esta.