Ordina un elenco di elenchi in Python
-
Usa la funzione
itemgetter()
dal modulo operatore insieme alla funzionesorted()
per ordinare un elenco di elenchi in Python -
Usa l’espressione
lambda
insieme alla funzionesorted()
per ordinare un elenco di elenchi in Python -
Usa la funzione
sort()
per ordinare un elenco di elenchi in Python
Un elenco è una delle strutture dati più potenti utilizzate in Python. Possiamo ordinare un elenco in Python disponendo tutti i suoi elementi in ordine crescente o decrescente in base al requisito.
Possiamo anche avere elenchi annidati in Python. Questi possono essere pensati come un elenco di elenchi. L’ordinamento di un elenco di elenchi dispone tutti gli elenchi interni in base all’indice specificato come chiave.
In questo tutorial, ordineremo un elenco di elenchi in Python in base ad alcuni indici.
Usa la funzione itemgetter()
dal modulo operatore insieme alla funzione sorted()
per ordinare un elenco di elenchi in Python
La funzione sorted()
viene utilizzata per ordinare una lista in Python. Per impostazione predefinita, ordina la lista in ordine crescente. La funzione itemgetter()
del modulo operatore prende un numero di indice come parametro e restituisce l’elemento dal set di dati posto in quel numero di indice.
Pertanto, la funzione sorted(List_name, key=itemgetter(index_number))
ordina un elenco di elenchi in base all’elemento posizionato al numero_indice specificato di ogni elenco interno.
Per esempio,
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))))
Produzione:
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']]
Per ordinare un elenco di elenchi in ordine decrescente, viene utilizzato il parametro reverse
insieme al parametro key
e il nome della lista nella funzione sorted()
.
Per esempio,
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))
)
Produzione:
Reverse sorted List C based on index 1: [[10, 8, 'Cat'], [45, 6, 'Bird'], [90, 2, 'Dog']]
Usa l’espressione lambda
insieme alla funzione sorted()
per ordinare un elenco di elenchi in Python
Le espressioni lambda
sono semplici funzioni su una riga in Python.
La funzione sorted(List_name, key=lambda x:x[index_number])
è usata per ordinare una lista di liste in base all’elemento posizionato al index_number specificato di ogni lista interna.
Per esempio,
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])))
Produzione:
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']]
Allo stesso modo, possiamo usare il parametro reverse
per ottenere l’output in ordine decrescente.
Per esempio,
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))
)
Produzione:
Reversed sorted List C based on index 0: [[90, 7], [60, 5], [30, 10]]
Usa la funzione sort()
per ordinare un elenco di elenchi in Python
Il metodo sort()
ordina la lista di elenchi in Python in base al primo elemento di ogni elenco interno. Questo metodo apporta modifiche all’elenco originale stesso. Usiamo il parametro reverse
per ordinare in ordine decrescente.
Per esempio,
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))
Produzione:
New sorted list A is [[45, 89], [55, 90], [90, 70]]
New reverse sorted list A is [[90, 70], [55, 90], [45, 89]]
Per ordinare la lista dato in base alla lunghezza degli elenchi interni, viene utilizzato il parametro key=len
.
Per esempio,
A = [[5, 90, "Hi", 66], [80, 99], [56, 32, 80]]
A.sort(key=len)
print("New sorted list A is % s" % (A))
Produzione:
New sorted list A is [[80, 99], [56, 32, 80], [5, 90, 'Hi', 66]]
Articolo correlato - Python List
- Converti un dizionario in una lista in Python
- Rimuovi i duplicati dall'lista in Python
- Rimuovi tutte le occorrenze di un elemento da una lista in Python
- Ottieni la media di una lista in Python
- Qual è la differenza tra i metodi di elencazione, aggiungere ed estendere
- Come convertire una lista in stringa in Python