Requisito previo: min() max() en Python
Veamos algunos datos interesantes sobre las funciones min() y max(). Estas funciones se utilizan para calcular el máximo y el mínimo de los valores que se pasan en su argumento. o da el valor lexicográficamente más grande y el valor lexicográficamente más pequeño respectivamente, cuando pasamos string o lista de strings como argumentos.
python3
l= ["ab", "abc", "abd", "b"] l1="abc" # prints 'b' print(max(l)) # prints 'ab' print(min(l)) #prints 'c' print(max(l1)) #prints 'a' print(min(l1))
Aquí nota que la salida viene según el orden lexicográfico. pero también podemos encontrar la salida de acuerdo con la longitud de la string o según nuestro requisito simplemente pasando el nombre de la función o la expresión lambda.
Parámetros:
de forma predeterminada, min() y max() no requieren ningún parámetro adicional. sin embargo, tiene parámetros opcionales:
tecla – función que sirve como tecla para la comparación min/max
Sintaxis: max(x1, x2, …, xn, clave=nombre_función)
aquí x1, x2, x3.., xn argumentos pasados nombre_función
: indica qué tipo de operación desea realizar en estos argumentos. Deje function_name = len, por lo que ahora la salida da de acuerdo con la longitud de x1, x2 .., xn.
Valor de retorno:
Devuelve un máximo o mínimo de lista según el parámetro pasado.
Python3
# Python code explaining min() and max() l = ["ab", "abc", "bc", "c"] print(max(l, key = len)) print(min(l, key = len))
abc c
Explicación:
En el programa anterior, la función max() toma dos argumentos : l(lista) y clave = len(nombre_función). Esta función clave = len(nombre_función) transforma cada elemento antes de comparar, toma el valor y devuelve 1 valor que luego se usa dentro de max() o min() en lugar del valor original. Aquí la clave convierte cada elemento de la lista a su longitud y luego compara cada elemento de acuerdo con su longitud.
inicialmente l = [“ab”, “abc”, “bc”, “c”]
cuando pasamos key=len como argumentos, entonces funciona como
l=[2,3,2,1]
Python3
# Python code explaining min() and max() def fun(element): return(len(element)) l =["ab", "abc", "bc", "c"] print(max(l, key = fun)) # you can also write in this form print(max(l, key = lambda element:len(element)))
abc abc
Otro ejemplo:
Python3
# Python code explaining min() and max() l = [{'name':'ramu', 'score':90, 'age':24}, {'name':'golu', 'score':70, 'age':19}] # here anonymous function takes item as an argument. print(max(l, key = lambda item:item.get('age')))
{'age': 24, 'score': 90, 'name': 'ramu'}
De manera similar, podemos usar la función min() en lugar de la función max() según el requisito.