Articles

Python libro de cocina

Discusión

Usando mapNone como primeras argumento es una sutil variación de la normamap llamada, que normalmente se lleva a una función como primeras argumento. Como indica la documentación, si el primer argumento es None, la función de identidad se utiliza como función a través de la cual se asignan los argumentos. Si hay varios argumentos de lista, map devuelve una lista compuesta de tuplas que contienen los elementos correspondientes de todas las listas (en otras palabras, es una especie de operación de transposición). Los argumentos de lista pueden ser cualquier tipo de secuencia, y el resultado siempre es una lista.

Tenga en cuenta que la primera técnica devuelve None para las secuencias en las que no hay más elementos. Por lo tanto, la salida del primer bucle es:

Map:a1 b1a2 b2a3 None

zip le permite recorrer las listas de manera similar, pero solo hasta el número de elementos de la lista más pequeña. Por lo tanto, la salida de la segunda técnica es:

Zip:a1 b1a2 b2

Python 2.0 introdujo comprensiones de lista, con una sintaxis que algunos encontraron un poco extraña:


Itera sobre listb para cada elemento en a. Theseelements se ponen en una tupla (x,y). Luego, iteramos a través de la lista de múltiplos resultante en el bucle for más externo. La salida de la tercera técnica, por lo tanto, es bastante diferente:

List comprehension:a1 b1a1 b2a2 b1a2 b2a3 b1a3 b2