Tabla de contenido
2. Sintaxis de la función map()
4. Aparece el resultado de la ejecución: informe de error
1. Efectos funcionales
La función map() es una función incorporada en Python. Su función es aplicar la función especificada a cada elemento del objeto iterable por turno y devolver un objeto iterador . Este objeto iterable puede ser uno o varios.
2. Sintaxis de la función map()
gramática
map(function,iterable,...)
parámetro
función: la función (o tipo de datos) que especificamos, que puede estar integrada en Python o personalizada.
iterable: objetos iterables como listas, tuplas , cadenas, etc.
valor de retorno
Devuelve un objeto iterable, generalmente usado con list() para generar una lista
3. ejemplo de función map()
Caso 1
El objeto iterable se pasa a la función map() y la función map() pasa el objeto iterable a la función personalizada.
#自定义一个函数a,返回x*2的值
def a(x):
return x*2
#定义列表
lis1=[1,3,5,7,9]
#对列表中的每个数运用函数a,返回迭代器
lis1_a=map(a,lis1)
#输出迭代器中的值
for num in lis1_a:
print(num)
#输出结果
'''
2
6
10
14
18
'''
analisis de CASO
La función a() es una función parametrizada que definimos, list1 es una lista que definimos y la función map() opera cada valor en la lista de acuerdo con la función a() y devuelve un iterador lis1_a. En este momento, el tipo de datos de lis1_a es: <clase 'mapa'>, y usamos un bucle for para recorrer el valor del iterador de salida lis1_a.
Caso 2
El objeto iterable se pasa a la función map() y luego la función map() convierte el tipo de datos de este objeto iterable.
#定义一个列表a
a = ['1','2','3']
#将列表中的每个字符串,转换成浮点型,并返回迭代器
b = map(float,a)
#输出迭代器中的值
for num in b:
print(num)
#输出结果
'''
1.0
2.0
3.0
'''
analisis de CASO
float es el tipo de datos que queremos convertir. La lista a es una lista que definimos. La función map() convierte los valores en la lista a usando la función float() y devuelve un iterador b. En este momento, el tipo de datos de b es: <clase 'mapa'>, y usamos un bucle for para recorrer y generar el valor del iterador b.
Caso 3
Se pasan varios objetos iterables a la función map() y luego la función map() pasa estos 2 objetos iterables a la función personalizada a(). Nota: La cantidad de parámetros de esta función personalizada a() debe ser consistente con la cantidad de objetos iterables pasados.
# 定义一个函数
# 该函数采用2参数
def a(x,y):
return x * y
# 定义列表1
lis1 = [1, 3, 5, 7, 9]
# 定义列表2
lis2 = [2, 4, 6, 8, 10]
# 将两个列表中的值,传入函数a,并返回可迭代器
lis_a = map(a, lis1, lis2)
#输出迭代器中的值
for num in lis_a:
print(num)
#输出结果
'''
2
12
30
56
90
'''
analisis de CASO
La función a() es una función que definimos, porque necesitamos realizar operaciones en los dos objetos iterables pasados más adelante. Por tanto, la función a() debe tener 2 parámetros formales. lis1 y lis2 son las dos listas que definimos. La función map() pasa las dos listas a la función a() para su operación y devuelve un iterador lis_a. En este momento, el tipo de datos de lis_a es: <clase 'mapa'>, y usamos un bucle for para recorrer el valor del iterador de salida lis_a.
4. Aparece el resultado de la ejecución: <objeto de mapa en 0x000001809CD03400> error
En Python3, cuando se utiliza la función map(), si el formato es incorrecto, aparecerá el resultado del error anterior.
Caso
a = ['1','3','5']
b = map(int,a)
print(b)
print(type(b))
#输出结果
'''
<map object at 0x0000025781BBB610>
<class 'map'>
'''
analisis de CASO
La lista a es una lista que definimos. La función map () toma y convierte los valores en la lista a en int. En este momento, devuelve un iterador b, que es un objeto de mapa. Si desea obtener un objeto de lista, también debe llamar a la función list() para convertirlo en un objeto de lista.
Resumen de errores:
- En Python2, el mapa devuelve directamente la lista de elementos después de la acción
- En Python3, map devuelve un objeto de mapa.
- Si desea obtener un objeto de lista, también debe llamar a list para convertirlo en un objeto de lista.
- En Python2, la función de la función map() puede ser Ninguna, como map(iterable1,iterable2[,...[,iterable n), su función es similar a tomar el valor del índice correspondiente en iterable * como un tupla Finalmente, devuelve una lista que contiene múltiples tuplas. En Python3, si la función map() no especifica una función , se generará "map() debe tener al menos dos argumentos" cuando se convierta el objeto de mapa devuelto.