Ordenar una lista de listas en Python
-
Utilice la función
itemgetter()
del módulo del operador junto con la funciónsorted()
para ordenar una lista de listas en Python -
Utilice la expresión
lambda
junto con la funciónsorted()
para ordenar una lista de listas en Python -
Utilice la función
sort()
para ordenar una lista de listas en Python
Una lista es una de las estructuras de datos más poderosas que se utilizan en Python. Podemos ordenar una lista en Python organizando todos sus elementos en orden ascendente o descendente según el requisito.
También podemos tener listas anidadas en Python. Se pueden considerar como una lista de listas. La clasificación de una lista de listas organiza todas las listas internas de acuerdo con el índice especificado como clave.
En este tutorial, ordenaremos una lista de listas en Python en función de algunos índices.
Utilice la función itemgetter()
del módulo del operador junto con la función sorted()
para ordenar una lista de listas en Python
La función sorted()
se utiliza para ordenar una lista en Python. De forma predeterminada, ordena la lista en orden ascendente. La función itemgetter()
del módulo operador toma un número de índice como parámetro y devuelve el elemento del conjunto de datos colocado en ese número de índice.
Por lo tanto, la función sorted(List_name, key=itemgetter(index_number))
ordena una lista de listas por el elemento posicionado en el índice especificado de cada lista interna.
Por ejemplo,
from operator import itemgetter
A = [[10, 8], [90, 2], [45, 6]]
print("Sorted List A based on index 0: % s" % (sorted(A, key=itemgetter(0))))
B = [[50, "Yes"], [20, "No"], [100, "Maybe"]]
print("Sorted List B based on index 1: % s" % (sorted(B, key=itemgetter(1))))
Producción :
Sorted List A based on index 0: [[10, 8], [45, 6], [90, 2]]
Sorted List B based on index 1: [[100, 'Maybe'], [20, 'No'], [50, 'Yes']]
Para ordenar una lista de listas en orden descendente, el parámetro reverse
se utiliza junto con el parámetro key
, y el nombre de la lista en la función sorted()
.
Por ejemplo,
from operator import itemgetter
C = [[10, 8, "Cat"], [90, 2, "Dog"], [45, 6, "Bird"]]
print(
"Reversed sorted List C based on index 1: % s"
% (sorted(C, key=itemgetter(1), reverse=True))
)
Producción :
Reverse sorted List C based on index 1: [[10, 8, 'Cat'], [45, 6, 'Bird'], [90, 2, 'Dog']]
Utilice la expresión lambda
junto con la función sorted()
para ordenar una lista de listas en Python
Las expresiones lambda
son funciones simples de una línea en Python.
La función sorted(List_name, key=lambda x:x[index_number])
se usa para ordenar una lista de listas por el elemento posicionado en el índice especificado de cada lista interna.
Por ejemplo,
A = [[100, "Yes"], [40, "Maybe"], [60, "No"]]
print("Sorted List A based on index 0: % s" % (sorted(A, key=lambda x: x[0])))
B = [[2, "Dog"], [0, "Bird"], [7, "Cat"]]
print("Sorted List A based on index 1: % s" % (sorted(B, key=lambda x: x[1])))
Producción :
Sorted List A based on index 0: [[40, 'Maybe'], [60, 'No'], [100, 'Yes']]
Sorted List B based on index 1: [[0, 'Bird'], [7, 'Cat'], [2, 'Dog']]
De manera similar, podemos usar el parámetro reverse
para obtener la salida en orden descendente.
Por ejemplo,
C = [[60, 5], [90, 7], [30, 10]]
print(
"Reversed sorted List C based on index 0: % s"
% (sorted(C, key=lambda x: x[0], reverse=True))
)
Producción :
Reversed sorted List C based on index 0: [[90, 7], [60, 5], [30, 10]]
Utilice la función sort()
para ordenar una lista de listas en Python
El método sort()
ordena la lista de listas en Python de acuerdo con el primer elemento de cada lista interna. Este método realiza cambios en la propia lista original. Usamos el parámetro reverse
para ordenar en orden descendente.
Por ejemplo,
A = [[55, 90], [45, 89], [90, 70]]
A.sort()
print("New sorted list A is % s" % (A))
A.sort(reverse=True)
print("New reverse sorted list A is % s" % (A))
Producción :
New sorted list A is [[45, 89], [55, 90], [90, 70]]
New reverse sorted list A is [[90, 70], [55, 90], [45, 89]]
Para ordenar la lista dada según la longitud de las listas internas, se utiliza el parámetro key=len
.
Por ejemplo,
A = [[5, 90, "Hi", 66], [80, 99], [56, 32, 80]]
A.sort(key=len)
print("New sorted list A is % s" % (A))
Producción :
New sorted list A is [[80, 99], [56, 32, 80], [5, 90, 'Hi', 66]]
Artículo relacionado - Python List
- Convertir un diccionario en una lista en Python
- Eliminar todas las apariciones de un elemento de una lista en Python
- Eliminar duplicados de una lista en Python
- Cómo obtener el promedio de una lista en Python
- ¿Cuál es la diferencia entre los métodos de lista que añaden y amplían
- Cómo convertir una lista en cadena en Python