Función anónima
- No es necesario usar def para definir funciones
- Sin nombre específico
- Use lambda para definir funciones
- Estructura gramatical: lambda par1, par2, ... parn: expresión
Ejemplos
#冒号前面是参数,冒号后面是表达式,也是所要返回的结果
g = lambda x:x**2
g(2)
función de mapa
El método map () asigna una función a cada elemento de la secuencia para generar una nueva secuencia, incluidos todos los valores de retorno de la función. En términos generales, cada elemento de la secuencia se trata como una variable x y se pone en una función f (x), y el resultado es una nueva secuencia de f (x1), f (x2), f (x3) ...
- La función de mapa devuelve un iterador
- Método de llamada: la
función map (function, list_input)
representa la función
list_input representa la secuencia de entrada
Ejemplos
#定义一个列表
items = [1,2,3,4,5,6]
def f(x):
return x**2
map(f,items)
list(map(f,items))
reducir la función
Definición:
Durante la secuencia de iteración, los dos primeros elementos (solo dos) se pasan a la función. Después de que se procesa la función, el resultado y el tercer elemento se pasan a la función como dos parámetros. Por analogía, es como encontrar la suma acumulativa de 1-100
- La función reducir no es una función integrada, por lo que debe importar una biblioteca de terceros
- La función reducir no se puede usar directamente
- función reducir (función, iterable)
: función representativa
iterable: secuencia
Ejemplos
from functools import reduce
def f(x,y):
return x + y
items = [1,2,3,4,5,6,7,8,9,10]
result = reduce(f,items)
result
#求1-100累加和
items = range(1,101)
result = reduce(f,items)
result
función de filtro
- Se usa para filtrar secuencias, filtrar elementos que no cumplen las condiciones y devolver una secuencia de elementos que cumplen las condiciones
- La función se aplicará a cada elemento de secuencia en secuencia, es decir, función (elemento), y el elemento cuyo valor de retorno es Verdadero formará una lista / cadena / tupla (dependiendo del tipo de secuencia)
- Python3 iterador de retorno unificado
Ejemplos
filter(lambda x:x%2==0,range(21))
list(filter(lambda x:x%2==0,range(21)))
items = [1,2,3,4,'3263','chen','-34.56',45.8]
list(filter(lambda x:1 if isinstance(x,int)else 0,items))
O:
def int_num(x):
if isinstance(x,int):
return True
else:
return False
list(filter(int_num,items))