Creo que todos saben lo que significa anónimo. Anónimo significa no tener nombre. A veces no necesitamos nombrar la función al escribir un programa. En este momento, podemos usar funciones anónimas. Usamos expresiones lambda para usar funciones anónimas.
Usemos un ejemplo para presentar el uso simple de la función lambda . La variable m es el valor que ingresamos. Necesitamos usar una función anónima para devolver la suma de los cuadrados de m. el valor es 4.
El código es el siguiente:
m=int(input('Ingrese un número:'))#m es el valor de entrada a=lambdax:x*x#Use la variable a para formar una expresión print('El valor de retorno es:',a(m) )
La salida es:
Por favor ingrese un número: 6. El valor devuelto es: 36
Echemos un vistazo a su estructura a través de la siguiente figura:
Usemos una función anónima a través de un ejemplo:
m=int(input('Ingrese un número:'))#m es el valor de entrada a=lambdax:x+10*10+x*xprint('El valor de retorno es:',a(m))
La salida es:
Por favor ingrese un número: 5. El valor devuelto es: 130
De los dos ejemplos anteriores, podemos entender que la expresión lambda equivale a comprimir la función en una línea de código y luego llamar a la función directamente a través de la definición de la variable. Este método puede simplificar nuestro código.
También podemos usar funciones anónimas en secuencias. El uso de funciones anónimas puede ayudarnos a filtrar datos rápidamente. Consulte el siguiente ejemplo:
Se sabe que una lista es [1,4,6,9,12,23,25,28,36,38,41,56,63,77,88,99], necesitamos devolver los números pares que contiene y guárdelos en la lista entre.
Podemos usar la función de filtro para filtrar.
El código es el siguiente:
mi_lista=[1,4,6,9,12,23,25,28,36,38,41,56,63,77,88,99]print(lista(filtro(lambdax:x%2==0, mi_lista)))
La salida es:
[4,6,12,28,36,38,56,88]
Analizamos esta expresión de adentro hacia afuera. El primer objeto en la función filter() es nuestro método de filtrado, y el segundo es el objeto que queremos filtrar. Luego almacenamos estos datos en la lista usando la función list(). , y finalmente imprimirlo. Este método puede ayudarnos a integrar datos rápidamente.
También podemos formular reglas a través de funciones anónimas al ordenar.
Primero, sabemos que un conjunto de listas es [('Tupla A',15,33), ('Tupla B',25,26), ('Tupla C',7,7)]. El elemento contiene el nombre de cada tupla y los valores mínimo y máximo. Necesitamos ordenar la lista según la diferencia entre los valores máximo y mínimo de la tupla de cada persona.
mi_lista=[('Tupla A',15,33),('Tupla B',25,26),('Tupla C',7,7)]mi_lista.sort(clave=lambdax:x[2 ]-x [1])#Utilice la palabra clave clave para introducir el método de clasificación. El método de clasificación se basa en la diferencia entre el tercer elemento y el segundo elemento. Los índices correspondientes son 2 y 1print(my_list).
La estructura de salida es:
[('Tupla C',7,7),('Tupla B',25,26),('Tupla A',15,33)]
Primero podemos hacer un cálculo simple. Sus diferencias son 18, 1 y 0 respectivamente, por lo que su orden debe ser C, B y A. Obtenemos el resultado devuelto x[2]-x[1] en la expresión lambda. su diferencia, y luego ordenar según la diferencia.
Las funciones anónimas son particularmente importantes al filtrar datos. Pueden ayudarnos rápidamente a resolver problemas de datos complejos y engorrosos. Al mismo tiempo, pueden optimizar nuestro código y hacer que el código general sea más conciso. En esta sección aprenderemos las tres funciones básicas en funciones.