Python | Ordenar Aplanar lista de lista

El aplanamiento de la lista de listas se ha discutido anteriormente, pero a veces, además del aplanamiento, también se requiere obtener la string de forma ordenada. Vamos a discutir ciertas formas en que esto se puede hacer.

Método n.º 1: uso sorted()de la comprensión de listas +
Esta idea es similar a aplanar una lista de listas, pero además, agregamos una función ordenada para ordenar la lista aplanada devuelta realizada por comprensión de listas.

# Python3 code to demonstrate
# sort flatten list of list 
# using sorted + list comprehension
  
# initializing list of list 
test_list = [[3, 5], [7, 3, 9], [1, 12]]
  
# printing original list of list 
print("The original list : " + str(test_list))
  
# using sorted + list comprehension
# sort flatten list of list
res = sorted([j for i in test_list for j in i])
  
# print result
print("The sorted and flattened list : " + str(res))
Producción :

The original list : [[3, 5], [7, 3, 9], [1, 12]]
The sorted and flattened list : [1, 3, 3, 5, 7, 9, 12]

Método n.º 2: Usoitertools.chain() + sorted()
La tarea que se realizó mediante la comprensión de la lista anterior también se puede realizar mediante la función de string que vincula los elementos de la lista y luego la función ordenada realiza la tarea de clasificación.

# Python3 code to demonstrate
# sort flatten list of list 
# using itertools.chain() + sorted()
from itertools import chain
  
# initializing list of list 
test_list = [[3, 5], [7, 3, 9], [1, 12]]
  
# printing original list of list 
print("The original list : " + str(test_list))
  
# using itertools.chain() + sorted()
# sort flatten list of list
res = sorted(chain(*test_list))
  
# print result
print("The sorted and flattened list : " + str(res))
Producción :

The original list : [[3, 5], [7, 3, 9], [1, 12]]
The sorted and flattened list : [1, 3, 3, 5, 7, 9, 12]

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 *