logo

Come ordinare la tupla in Python

Le tuple sono un tipo di dati di una variabile che ci consente di archiviare più oggetti in un unico posto. Una tupla è una raccolta di elementi ordinata e immutabile (non è possibile aggiornare gli elementi in una tupla). Esistono 4 strutture dati Python integrate per memorizzare gli elementi, una di queste è una tupla e le altre sono List, Dictionary e Set, ciascuna con il proprio set di proprietà e utilizzo. Si scrivono tra parentesi tonde.

codice di codifica huffman

Ordinare una tupla in Python

Usando sort()

Il metodo sort() viene spesso utilizzato per ordinare gli elementi di una lista in ordine crescente, con il primo elemento ordinato per impostazione predefinita. Possiamo ordinare una tupla convertendola prima in una lista e poi applicando questa funzione. Questa funzione ordina l'elenco sul posto e restituisce None.

Ingresso

 tuple_ = ('Itika', 'Arshia', 'Peter', 'Parker') list(tuple_).sort() print(tuple_) print(type(tuple_)) 

Produzione:

 ('Itika', 'Arshia', 'Peter', 'Parker') 

Usando sorted()

In Python, usa la funzione integrata sorted() per ordinare una tupla. La tupla dovrebbe essere passata come argomento alla funzione sorted(). Gli elementi della tupla sono ordinati (per impostazione predefinita) in ordine crescente nell'elenco restituito dalla funzione. Possiamo usare una tupla per convertire questo tipo di dati elenco in una tupla ().

Il parametro inverso della funzione sorted() può anche specificare l'ordinamento. L'ordine di ordinamento predefinito è ascendente. Gli elementi vengono ordinati in ordine decrescente quando è impostato reverse=True. Possiamo anche specificare una funzione chiave i cui valori restituiti vengono utilizzati per ordinare gli elementi. Prendiamo una tupla, tuple_, avente valori interi, e la ordiniamo in ordine crescente nel seguente programma.

Ingresso

 tuple_ = (5, 2, 24, 3, 1, 6, 7) sorted_ = tuple(sorted(tuple_)) print('Sorted Tuple :', sorted_) print(type(sorted_)) 

Produzione:

 Sorted Tuple : (1, 2, 3, 5, 6, 7, 24) 

Ora stiamo ordinando la tupla in ordine decrescente utilizzando la stessa funzione. Passa reverse=True alla funzione sorted() per ordinare la tupla in ordine decrescente.

Ingresso

 tuple_ = (5, 2, 24, 3, 1, 6, 7) sorted_ = tuple(sorted(tuple_, reverse=True)) print('Sorted Tuple :', sorted_) print(type(sorted_)) 

Produzione:

 Sorted Tuple : (24, 7, 6, 5, 3, 2, 1) 

Ordinamento di una tupla in base a una funzione chiave

Una chiave è una funzione che accetta un valore e restituisce un valore. Per ciascuno degli elementi nella tupla viene applicata questa funzione chiave e il valore restituito viene utilizzato per il confronto per ordinare gli elementi. Nel programma seguente, ordiniamo la tupla di stringhe in base alla lunghezza delle stringhe. In questo caso, possiamo utilizzare la funzione incorporata len() come chiave.

Ingresso

proprietà acide
 tuple_ = ('abhd', 'sbchcwsc', 'sjs', 'sxshs') sorted_ = tuple(sorted(tuple_, key=len)) print('Sorted Tuple :', sorted_) print(type(sorted_)) 

Produzione:

 Sorted Tuple : ('sjs', 'abhd', 'sxshs', 'sbchcwsc') 

Ordinamento dell'elenco delle tuple

Usando sorted()

Diamo un'occhiata a come ordinare una lista in Python usando una tupla. Considera il seguente scenario: desideriamo ordinare l'elenco delle tuple. Dobbiamo ordinare le tuple in base alla chiave che ci viene data. Ciò può essere ottenuto utilizzando la funzione sorted(), che ordina gli elementi utilizzando una chiave e memorizza l'indice della chiave per ordinare le tuple specificate. L'esecuzione Python di questo approccio è la seguente:

Ingresso

 # Sorting list of tuples according to a key def middle(n): return n[1] # function to sort the tuple def sort(list_of_tuples): return sorted(list_of_tuples, key = middle) # driver code list_ = [(34, 21, 56), (24, 12, 32), (42, 34, 42), (27, 11, 32)] print('Sorted list of Tuples:'), print(sort(list_)) 

Produzione:

comando arp
 Sorted list of Tuples: [(27, 11, 32), (24, 12, 32), (34, 21, 56), (42, 34, 42)] 

Utilizzo dell'ordinamento a bolle

Il Bubble sort è semplicemente un algoritmo di ordinamento per ordinare un elenco di un numero qualsiasi di elementi. Se gli elementi adiacenti in un determinato elenco sono nell'ordine errato, li scambia. Quindi ripete questo processo finché tutti gli elementi non sono stati ordinati.

In questo esempio utilizzeremo l'algoritmo bubble sort per ordinare un elenco di tuple.

Ingresso

 roll = [('Arshia', 26), ('Itika', 53), ('Peter', 82), ('Parker', 74), ('MJ', 45)] first = 0 last = len(roll) for k in range(0, last): for l in range(0, last-k-1): if (roll[l][first] > roll[l + 1][first]): new_item = roll[l] roll[l]= roll[l + 1] roll[l + 1]= new_item print(roll) 

Produzione:

 [('Arshia', 26), ('Itika', 53), ('MJ', 45), ('Parker', 74), ('Peter', 82)]