map(function, iterable, ...)
Aplique a função a todos os itens iteráveis e retorne uma lista dos resultados. Se argumentos iteráveis adicionais forem passados, a função deverá receber muitos argumentos e será aplicada aos itens de todos os iteráveis em paralelo.
Se um iterável for mais curto que outro, presume-se que seja estendido com nenhum item.
Se a função é None
, a função de identidade é assumida; se houver vários argumentos, map()
retornará uma lista que consiste em tuplas contendo os itens correspondentes de todas as iteráveis (um tipo de operação de transposição).
Os argumentos iteráveis podem ser uma sequência ou qualquer objeto iterável; o resultado é sempre uma lista.
Que papel isso desempenha na fabricação de um produto cartesiano?
content = map(tuple, array)
Qual o efeito de colocar uma tupla em qualquer lugar? Notei também que, sem a função map, a saída é abc
e com ela é a, b, c
.
Eu quero entender completamente essa função. As definições de referência também são difíceis de entender. Muito buço chique.
map(None, a, b, c)
acontece zip(a, b, c)
. Mas você raramente vê isso na prática, precisamente porque a zip
chamada é equivalente.
tuple
é uma função (bem, é mais sutil do que isso, mas se comporta como uma função) que leva uma iterável e fornece uma tupla com os mesmos elementos - assim tuple([1, 2, 3])
é equivalente a (1, 2, 3)
. Pois map(tuple, array)
, array
seria uma iterável das iteráveis (pense em uma lista de listas) e devolve cada lista interna transformada em uma tupla.
map
?