Ordina l'lista delle tuple in Python
-
Usa la funzione
list.sort()
per ordinare l’lista delle tuple in Python - Usa l’algoritmo di ordinamento delle bolle per ordinare l’lista delle tuple in Python
In Python, più elementi possono essere memorizzati in una singola variabile utilizzando le tuple. Una lista di tuple può essere ordinato come una lista di numeri interi.
Questo tutorial discuterà diversi metodi per ordinare una lista di tuple in base al primo, secondo o iesimo elemento nelle tuple.
Usa la funzione list.sort()
per ordinare l’lista delle tuple in Python
La funzione list.sort()
ordina gli elementi di una lista in ordine crescente o decrescente. Il suo parametro key
specifica il valore da utilizzare nell’ordinamento. key
deve essere una funzione o altri invocabili che potrebbero essere applicati a ciascun elemento della lista.
Il codice seguente ordina le tuple in base al secondo elemento in tutte le tuple.
list_students = [
("Vaibhhav", 86),
("Manav", 91),
("Rajesh", 88),
("Sam", 84),
("Richie", 89),
]
# sort by second element of tuple
list_students.sort(key=lambda x: x[1]) # index 1 means second element
print(list_students)
Produzione:
[('Sam',84), ('Vaibhhav',86), ('Rajesh',88), ('Richie',89), ('Manav',91)]
L’ordine può essere invertito in decrescente impostando il parametro reverse
del metodo sort()
su True
.
Il codice seguente ordina l’lista delle tuple in ordine decrescente utilizzando il parametro reverse
.
list_students = [
("Vaibhhav", 86),
("Manav", 91),
("Rajesh", 88),
("Sam", 84),
("Richie", 89),
]
# sort by second element of tuple
list_students.sort(key=lambda x: x[1], reverse=True)
print(list_students)
Produzione:
[('Manav',91), ('Richie',89), ('Rajesh',88), ('Vaibhhav',86), ('Sam',84)]
Usa l’algoritmo di ordinamento delle bolle per ordinare l’lista delle tuple in Python
Bubble Sort è uno degli algoritmi di ordinamento più semplici; funziona scambiando gli elementi adiacenti in una lista se sono nell’ordine sbagliato e ripete questo passaggio fino a quando l’lista non viene ordinato.
Il codice seguente ordina le tuple in base al secondo elemento e utilizza l’algoritmo di ordinamento delle bolle.
list_ = [("Vaibhhav", 86), ("Manav", 91), ("Rajesh", 88), ("Sam", 84), ("Richie", 89)]
# sort by second element of tuple
pos = 1
list_length = len(list_)
for i in range(0, list_length):
for j in range(0, list_length - i - 1):
if list_[j][pos] > list_[j + 1][pos]:
temp = list_[j]
list_[j] = list_[j + 1]
list_[j + 1] = temp
print(list_)
Produzione:
[('Sam',84), ('Vaibhhav',86), ('Rajesh',88), ('Richie',89), ('Manav',91)]
La variabile pos
specifica la posizione in base alla quale deve essere effettuato l’ordinamento, che in questo caso è il secondo elemento.
Possiamo anche usare il primo elemento per ordinare l’lista delle tuple. Il seguente programma implementa questo.
list_ = [("Vaibhhav", 86), ("Manav", 91), ("Rajesh", 88), ("Sam", 84), ("Richie", 89)]
# sort by first element of tuple
pos = 0
list_length = len(list_)
for i in range(0, list_length):
for j in range(0, list_length - i - 1):
if list_[j][pos] > list_[j + 1][pos]:
temp = list_[j]
list_[j] = list_[j + 1]
list_[j + 1] = temp
print(list_)
Produzione:
[('Manav',91), ('Rajesh',88), ('Richie',89), ('Sam',84), ('Vaibhhav',86)]
Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.
LinkedIn