Python Cookbook por
Discussão
Usando a tag map
com None
como oprimeiro argumento é uma sutil variação do padrãomap
chamada, o que normalmente leva de uma função como oprimeiro argumento. Como a documentação indica, se o primeiro argumentis None
, a função identidade é usada como função através da qual os argumentos são mapeados. Se existirem argumentos de lista múltipla, map
devolve uma lista contendo tuplas que contêm os itens correspondentes das listas (por outras palavras, é uma espécie de transposeoperação). Os argumentos da lista podem ser qualquer tipo de sequência, e o resultado é sempre uma lista.
Note que a primeira técnica devolve None
forsequences in which there are no more elements. Por conseguinte, o resultado do primeiro ciclo é:
zip
permite-lhe percorrer as listas de uma forma semelhante, mas apenas até ao número de elementos da lista mais pequena. Portanto, o resultado da segunda técnica é:
Zip:a1 b1a2 b2
Python 2.0 introduziu lista de compreensões, com uma sintaxe que somefound um pouco estranho:
Este itera através de listab
para cada elemento a
. Theseelements são colocados em uma tupla (x,
y)
. Nós então iteramos através da lista resultante de múltiplos no mais externo for
loop. A saída da terceira técnica, portanto, é bastante diferente:
List comprehension:a1 b1a1 b2a2 b1a2 b2a3 b1a3 b2
Leave a Reply