Map() es una función muy utilizada en Python, echemos un vistazo a su uso.

Tabla de contenido

1. Efectos funcionales

2. Sintaxis de la función map()

3. ejemplo de 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:

  1. En Python2, el mapa devuelve directamente la lista de elementos después de la acción 
  2. En Python3, map devuelve un objeto de mapa.
  3. Si desea obtener un objeto de lista, también debe llamar a list para convertirlo en un objeto de lista.
  4. 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.

Supongo que te gusta

Origin blog.csdn.net/weixin_44793743/article/details/126812868
Recomendado
Clasificación