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))
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))
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