logo

Kako sortirati tuple u Pythonu

Tuples su tip tipa podataka varijable koji nam omogućuje pohranjivanje više objekata na jednom mjestu. Torka je uređena i nepromjenjiva (ne možemo ažurirati elemente u torci) zbirka stavki. Postoje 4 ugrađene Python podatkovne strukture za pohranu elemenata, jedna od njih je tuple, a ostale su List, Dictionary i Set, svaka sa svojim skupom svojstava i upotrebe. Pišu se u okruglim zagradama.

Sortiranje tuplea u Pythonu

Korištenje sort()

Metoda sort() često se koristi za sortiranje elemenata popisa uzlaznim redoslijedom, pri čemu je prvi element sortiran prema zadanim postavkama. Možemo sortirati torku tako da je prvo pretvorimo u popis, a zatim primijenimo ovu funkciju. Ova funkcija sortira popis na mjestu i vraća Ništa.

Ulazni

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

Izlaz:

java arraylist metode
 ('Itika', 'Arshia', 'Peter', 'Parker') 

Korištenje sorted()

U Pythonu koristite ugrađenu funkciju sorted() za sortiranje Tuple. Tuple treba proslijediti kao argument funkciji sorted(). Stavke tuple su poredane (prema zadanim postavkama) uzlaznim redoslijedom na popisu koji vraća funkcija. Možemo koristiti tuple za pretvaranje ove vrste podataka popisa u tuple ().

Obrnuti parametar funkcije sorted() također može odrediti redoslijed sortiranja. Uzlazno je zadani redoslijed sortiranja. Stavke su poredane silaznim redoslijedom kada je postavljeno reverse=True. Također možemo navesti ključnu funkciju čije se vraćene vrijednosti koriste za sortiranje stavki. Uzimamo tuple, tuple_, koji ima cjelobrojne vrijednosti, i sortiramo ga uzlaznim redoslijedom u sljedećem programu.

Ulazni

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

Izlaz:

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

Sada sortiramo torku silaznim redoslijedom koristeći istu funkciju. Proslijedite reverse=True funkciji sorted() za sortiranje torke silaznim redoslijedom.

shloka mehta

Ulazni

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

Izlaz:

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

Razvrstavanje tuplea na temelju ključne funkcije

Ključ je funkcija koja uzima vrijednost i vraća vrijednost. Za svaku stavku u tupleu primjenjuje se ova ključna funkcija, a vraćena vrijednost koristi se za usporedbu za sortiranje stavki. U sljedećem programu sortiramo tuple nizova na temelju duljine nizova. U ovom slučaju, možemo koristiti ugrađenu funkciju len() kao ključ.

Ulazni

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

Izlaz:

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

Popis sortiranja torki

Korištenje sorted()

Pogledajmo kako sortirati popis u Pythonu koristeći tuple. Razmotrimo sljedeći scenarij: želimo sortirati popis torki. Moramo sortirati torke prema bilo kojem ključu koji nam je dan. To se može postići pomoću funkcije sorted(), koja sortira stavke pomoću ključa i pohranjuje indeks ključa za sortiranje zadanih torki. Python izvedba ovog pristupa je sljedeća:

sql poredak slučajnim odabirom

Ulazni

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

Izlaz:

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

Korištenje Bubble Sort

Bubble sort je samo algoritam sortiranja za sortiranje popisa bilo kojeg broja elemenata. Ako su susjedne stavke na danom popisu u netočnom redoslijedu, zamjenjuju ih. Zatim ponavlja ovaj postupak dok se svi elementi ne razvrstaju.

U ovom primjeru koristit ćemo algoritam sortiranja u obliku mjehurića za sortiranje popisa torki.

java dobiti trenutni datum

Ulazni

 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) 

Izlaz:

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