Python | Descomprimir una lista de tuplas

Las técnicas de compresión, es decir, la asignación de un valor clave o el emparejamiento de dos listas diferentes, se han cubierto en muchos artículos antes, a veces tenemos una utilidad específica para realizar la tarea inversa. Esta tarea se puede lograr por varios métodos.

Analicemos algunos de los métodos para descomprimir una lista de tuplas.

Método #1: Uso de la comprensión de listas

El uso de la comprensión de listas es el enfoque más ingenuo para realizar esta tarea de descomprimir y, por lo general, no se usa para realizar esta tarea, pero es un buen método para comenzar.

# Python3 code to demonstrate 
# Unzip a list of tuples
# using list comprehension
  
# initializing list of tuples
test_list = [('Akshat', 1), ('Bro', 2), ('is', 3), ('Placed', 4)]
  
# Printing original list
print ("Original list is : " + str(test_list))
  
# using list comprehension to
# perform Unzipping
res = [[ i for i, j in test_list ],
       [ j for i, j in test_list ]]
      
# Printing modified list 
print ("Modified list is : " + str(res))

Producción :

Original list is : [('Akshat', 1), ('Bro', 2), ('is', 3), ('Placed', 4)]
Modified list is : [['Akshat', 'Bro', 'is', 'Placed'], [1, 2, 3, 4]]

Método #2: Usar zip()y * operador

El método más utilizado para realizar la descompresión y la mayoría de Pythonic y recomendado también. Este método es generalmente utilizado para realizar esta tarea por programadores de todo el mundo. * operador descomprime las tuplas en listas independientes.

# Python3 code to demonstrate 
# Unzip a list of tuples
# using zip() and * operator
  
# initializing list of tuples
test_list = [('Akshat', 1), ('Bro', 2), ('is', 3), ('Placed', 4)]
  
# Printing original list
print ("Original list is : " + str(test_list))
  
# using zip() and * operator to
# perform Unzipping
res = list(zip(*test_list))
      
# Printing modified list 
print ("Modified list is : " + str(res))

Producción :

Original list is : [('Akshat', 1), ('Bro', 2), ('is', 3), ('Placed', 4)]
Modified list is : [('Akshat', 'Bro', 'is', 'Placed'), (1, 2, 3, 4)]

 
Método n.º 3: usar map()
Esto es otra forma más que se puede emplear para realizar esta tarea de descomprimir, que es menos conocida pero, de hecho, es un método para lograr esta tarea. Esto también usa el operador * para realizar el desempaquetado básico de la lista. Esta función está obsoleta en Python >= 3 versiones.

# Python code to demonstrate 
# Unzip a list of tuples
# using map()
  
# initializing list of tuples
test_list = [('Akshat', 1), ('Bro', 2), ('is', 3), ('Placed', 4)]
  
# Printing original list
print ("Original list is : " + str(test_list))
  
# using map() to
# perform Unzipping
res = map(None, *test_list)
      
# Printing modified list 
print ("Modified list is : " + str(res))

Producción :

Original list is : [('Akshat', 1), ('Bro', 2), ('is', 3), ('Placed', 4)]
Modified list is : [('Akshat', 'Bro', 'is', 'Placed'), (1, 2, 3, 4)]

Publicación traducida automáticamente

Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *