logo

Com ordenar tuple en Python

Les tuples són un tipus de tipus de dades d'una variable que ens permet emmagatzemar diversos objectes en un sol lloc. Una tupla és una col·lecció d'elements ordenada i immutable (no podem actualitzar elements d'una tupla). Hi ha 4 estructures de dades Python integrades per emmagatzemar elements, una d'elles és una tupla i les altres són Llista, Diccionari i Conjunt, cadascuna amb el seu propi conjunt de propietats i ús. S'escriuen entre claudàtors rodons.

Ordenant una tupla en Python

S'utilitza sort()

El mètode sort() s'utilitza sovint per ordenar els elements d'una llista en ordre ascendent, amb el primer element ordenat per defecte. Podem ordenar una tupla convertint-la primer en una llista i després aplicar aquesta funció. Aquesta funció ordena la llista al seu lloc i retorna Cap.

Entrada

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

Sortida:

com executar un script
 ('Itika', 'Arshia', 'Peter', 'Parker') 

Utilitzant ordenat()

A Python, utilitzeu la funció integrada sortd() per ordenar una tupla. La tupla s'ha de passar com a argument a la funció sortd(). Els elements de la tupla s'ordenen (per defecte) en ordre ascendent a la llista que retorna la funció. Podem utilitzar una tupla per convertir aquest tipus de dades de llista en una tupla ().

El paràmetre invers a la funció sortd() també pot especificar l'ordre d'ordenació. L'ordre ascendent és l'ordre d'ordenació predeterminat. Els elements s'ordenen en ordre descendent quan s'estableix reverse=True. També podem especificar una funció clau els valors retornats de la qual s'utilitzen per ordenar elements. Agafem una tupla, tuple_, amb valors enters, i l'ordenem en ordre ascendent al programa següent.

Entrada

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

Sortida:

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

Ara estem ordenant la tupla en ordre descendent utilitzant la mateixa funció. Passeu reverse=True a la funció sortd() per ordenar la tupla en ordre descendent.

mitjana vs mitjana

Entrada

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

Sortida:

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

Ordenar una tupla en funció d'una funció clau

Una clau és una funció que pren un valor i retorna un valor. Per a cadascun dels elements de la tupla, s'aplica aquesta funció de clau i el valor retornat s'utilitza per a la comparació per ordenar els elements. Al programa següent, ordenem tuple de cadenes en funció de la longitud de les cadenes. Per a aquest cas, podem utilitzar la funció integrada len() com a clau.

Entrada

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

Sortida:

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

Llista d'ordenació de tuples

Utilitzant ordenat()

Vegem com ordenar una llista a Python mitjançant una tupla. Considereu el següent escenari: volem ordenar la llista de tuples. Hem d'ordenar les tuples segons qualsevol clau que ens donin. Això es pot aconseguir mitjançant la funció sortd(), que ordena els elements mitjançant una clau i emmagatzema l'índex de clau per ordenar les tuples donades. L'execució de Python d'aquest enfocament és la següent:

botó central en css

Entrada

 # 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_)) 

Sortida:

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

Utilitzant l'ordenació de bombolles

L'ordenació de bombolles és només un algorisme d'ordenació per ordenar una llista de qualsevol nombre d'elements. Si els elements adjacents d'una llista determinada estan en l'ordre incorrecte, els intercanvia. A continuació, repeteix aquest procés fins que s'han ordenat tots els elements.

En aquest exemple, utilitzarem l'algorisme d'ordenació de bombolles per ordenar una llista de tuples.

modificar el fitxer linux

Entrada

 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) 

Sortida:

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