Cómo comprimir dos listas en Python

A menudo, puede estar interesado en comprimir (o «fusionar») dos listas en Python. Afortunadamente, esto es fácil de hacer usando la función zip ().

Este tutorial muestra varios ejemplos de cómo utilizar esta función en la práctica.

Ejemplo 1: comprima dos listas de igual longitud en una sola lista

La siguiente sintaxis muestra cómo comprimir dos listas de igual longitud en una lista:

#definir lista a y lista b 
a = ['a', 'b', 'c'] 
b = [1, 2, 3]

#zip las dos listas juntas en una
 lista ( zip (a, b))

[('a', 1), ('b', 2), ('c', 3)]

Ejemplo 2: comprimir dos listas de igual longitud en un diccionario

La siguiente sintaxis muestra cómo comprimir dos listas de igual longitud en un diccionario:

#definir lista de claves y lista de valores
 claves = ['a', 'b', 'c']
valores = [1, 2, 3]

#zip las dos listas juntas en un diccionario de
 diccionario ( zip (claves, valores))

{'a': 1, 'b': 2, 'c': 3}

Ejemplo 3: Zip dos listas de longitud desigual

Si sus dos listas tienen una longitud desigual, zip () se truncará a la longitud de la lista más corta:

#define list ay list b 
a = ['a', 'b', 'c', 'd'] 
b = [1, 2, 3]

#zip las dos listas juntas en una
 lista ( zip (a, b))

[('a', 1), ('b', 2), ('c', 3)]

Si desea evitar que zip () se trunque a la longitud de la lista más corta, puede usar la función zip_longest () de la biblioteca itertools .

De forma predeterminada, esta función completa un valor de «Ninguno» para los valores faltantes:

desde itertools importar zip_longest

#define list ay list b 
a = ['a', 'b', 'c', 'd'] 
b = [1, 2, 3]

#zip las dos listas juntas sin truncar a la longitud de la lista más corta
 ( zip_longest (a, b))

[('a', 1), ('b', 2), ('c', 3), ('d', Ninguno)]

Sin embargo, puede usar el argumento fillvalue para especificar un valor de relleno diferente para usar:

#define list ay list b 
a = ['a', 'b', 'c', 'd'] 
b = [1, 2, 3]

#zip las dos listas juntas, usando el valor de relleno de la
 lista '0' ( zip_longest (a, b, fillvalue = 0 ))

[('a', 1), ('b', 2), ('c', 3), ('d', 0)]

Puede encontrar la documentación completa para la función zip_longest () aquí .

  • https://r-project.org
  • https://www.python.org/
  • https://www.stata.com/

Deja un comentario

A menudo, es posible que desee crear dos parcelas una al lado de la otra usando el paquete ggplot2 en…
statologos comunidad-2

Compartimos información EXCLUSIVA y GRATUITA solo para suscriptores (cursos privados, programas, consejos y mucho más)

You have Successfully Subscribed!