map(function, iterable, ...)
Aplique la función a cada elemento de iterable y devuelva una lista de los resultados. Si se pasan argumentos iterables adicionales, la función debe tomar esa cantidad de argumentos y se aplica a los elementos de todos los iterables en paralelo.
Si un iterable es más corto que otro, se supone que se extiende con ninguno de los elementos.
Si la función es None
, se asume la función de identidad; si hay varios argumentos, map()
devuelve una lista que consta de tuplas que contienen los elementos correspondientes de todos los iterables (un tipo de operación de transposición).
Los argumentos iterables pueden ser una secuencia o cualquier objeto iterable; El resultado es siempre una lista.
¿Qué papel juega esto en la fabricación de un producto cartesiano?
content = map(tuple, array)
¿Qué efecto tiene poner una tupla en cualquier lugar? También noté que sin la función de mapa la salida es abc
y con ella, es a, b, c
.
Quiero entender completamente esta función. Las definiciones de referencia también son difíciles de entender. Demasiada pelusa elegante.
map(None, a, b, c)
resulta ser zip(a, b, c)
. Pero rara vez se ve eso en la práctica, precisamente porque la zip
llamada es equivalente.
tuple
es una función (bueno, tiene más matices que eso, pero se comporta como una función) que toma una iteración y le da una tupla con los mismos elementos, por lo que tuple([1, 2, 3])
es equivalente a (1, 2, 3)
. Para map(tuple, array)
, array
sería un iterable de iterables (piense en una lista de listas), y le devuelve cada lista interna convertida en una tupla.
map
?