Python | Formas de iterar la lista de listas de tuplas

La lista es un contenedor importante y se usa en casi todos los códigos de programación diaria, así como en el desarrollo web, cuanto más se usa, más se requiere dominar y, por lo tanto, es necesario el conocimiento de sus operaciones.
Dada una lista de listas de tuplas, escriba un programa de Python para iterar a través de él y obtener todos los elementos. 
Método #1: Usa itertools.ziplongest 
 

Python3

# Python code to demonstrate ways to iterate
# tuples list of list into single list
# using itertools.ziplongest
 
# import library
from itertools import zip_longest
 
# initialising listoflist
test_list = [
         [('11'), ('12'), ('13')],
         [('21'), ('22'), ('23')],
         [('31'), ('32'), ('33')]
         ]
 
 
# printing initial list
print ("Initial List = ", test_list)
 
# iterate list tuples list of list into single list
res_list = [item for my_list in zip_longest(*test_list)
                           for item in my_list if item]
 
# print final List
print ("Resultant List = ", res_list)
Producción: 

Initial List =  [['11', '12', '13'], ['21', '22', '23'], ['31', '32', '33']]
Resultant List =  ['11', '21', '31', '12', '22', '32', '13', '23', '33']

 

  
Método #2: Usar lambda + itertools.chain + zip_longest 
 

Python3

# Python code to demonstrate
# ways to iterate tuples list of list into single list
# using itertools.ziplongest + lambda + chain
 
# import library
from itertools import zip_longest, chain
 
# initialising listoflist
test_list = [
         [('11'), ('12'), ('13')],
         [('21'), ('22'), ('23')],
         [('31'), ('32'), ('33')]
         ]
 
 
# printing initial list
print ("Initial List = ", test_list)
 
# iterate list tuples list of list into single list
# using lambda + chain + filter
res_list = list(filter(lambda x: x, chain(*zip_longest(*test_list))))
 
# print final List
print ("Resultant List = ", res_list)
Producción: 

Initial List =  [['11', '12', '13'], ['21', '22', '23'], ['31', '32', '33']]
Resultant List =  ['11', '21', '31', '12', '22', '32', '13', '23', '33']

 

  
Método #3: Uso de la comprensión  de listas La
comprensión de listas es una forma elegante de definir y crear listas en python. Podemos crear listas como enunciados matemáticos y en una sola línea. La sintaxis de la comprensión de listas es más fácil de entender. 
 

Python3

# Python code to demonstrate ways to
# iterate tuples list of list into single
# list using list comprehension
 
# initialising listoflist
test_list = [
         [('11'), ('12'), ('13')],
         [('21'), ('22'), ('23')],
         [('31'), ('32'), ('33')]
         ]
 
 
# printing initial list
print ("Initial List = ", test_list)
 
# iterate list tuples list of list into single list
# using list comprehension
res_list = [item for list2 in test_list for item in list2]
 
# print final List
print ("Resultant List = ", res_list)
Producción: 

Initial List =  [['11', '12', '13'], ['21', '22', '23'], ['31', '32', '33']]
Resultant List =  ['11', '12', '13', '21', '22', '23', '31', '32', '33']

 

Publicación traducida automáticamente

Artículo escrito por garg_ak0109 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 *