Python | Desempaquetando tuplas anidadas

A veces, mientras trabajamos con la lista de tuplas de Python, podemos tener un problema en el que necesitamos desempaquetar las tuplas empaquetadas. Esto puede tener una posible aplicación en el desarrollo web. Analicemos ciertas formas en que se puede realizar esta tarea.

Método n.º 1: Uso de la comprensión de listas
Esta tarea se puede realizar utilizando la comprensión de listas en la que iteramos por tuplas y construimos la tupla deseada. Esta técnica es útil en caso de que sepamos el número exacto de elementos de tupla y posicionamiento.

# Python3 code to demonstrate working of
# Unpacking nested tuples
# using list comprehension
  
# initialize list
test_list = [(4, (5, 'Gfg')), (7, (8, 6))]
  
# printing original list
print("The original list is : " + str(test_list))
  
# Unpacking nested tuples
# using list comprehension
res = [(x, y, z) for x, (y, z) in test_list]
  
# printing result
print("The unpacked nested tuple list is : " + str(res))
Producción :

The original list is : [(4, (5, 'Gfg')), (7, (8, 6))]
The unpacked nested tuple list is : [(4, 5, 'Gfg'), (7, 8, 6)]

Método #2: Uso de la comprensión de listas + *operador “ ”
Muchas veces, puede haber un caso en el que no sabemos el número exacto de elementos en la tupla y también el número de elementos es variable entre las tuplas. El operador “*” puede realizar la tarea de desempaquetar esta variable.

# Python3 code to demonstrate working of
# Unpacking nested tuples
# using list comprehension + * operator
  
# initialize list
test_list = [(4, (5, 'Gfg')), (7, (8, 6))]
  
# printing original list
print("The original list is : " + str(test_list))
  
# Unpacking nested tuples
# using list comprehension + * operator
res = [(z, *x) for z, x in test_list]
  
# printing result
print("The unpacked nested tuple list is : " + str(res))
Producción :

The original list is : [(4, (5, 'Gfg')), (7, (8, 6))]
The unpacked nested tuple list is : [(4, 5, 'Gfg'), (7, 8, 6)]

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 *