Tuples so tip podatkovnega tipa spremenljivke, ki nam omogoča shranjevanje več predmetov na enem mestu. Tuple je urejena in nespremenljiva (ne moremo posodobiti elementov v tuple) zbirka postavk. Obstajajo 4 vgrajene podatkovne strukture Python za shranjevanje elementov, ena od njih je tuple, druge pa so List, Dictionary in Set, vsaka s svojim naborom lastnosti in uporabe. Zapisani so v okroglih oklepajih.
Razvrščanje tuple v Pythonu
Uporaba sort()
Metoda sort() se pogosto uporablja za razvrščanje elementov seznama v naraščajočem vrstnem redu, pri čemer je prvi element razvrščen privzeto. Tulko lahko razvrstimo tako, da jo najprej pretvorimo v seznam in nato uporabimo to funkcijo. Ta funkcija razvrsti seznam na mestu in vrne None.
Vnos
tuple_ = ('Itika', 'Arshia', 'Peter', 'Parker') list(tuple_).sort() print(tuple_) print(type(tuple_))
Izhod:
linux free ipconfig
('Itika', 'Arshia', 'Peter', 'Parker')
Uporaba sorted()
V Pythonu za razvrščanje tuple uporabite vgrajeno funkcijo sorted(). Vrvico je treba posredovati kot argument funkciji sorted(). Elementi tulp so razvrščeni (privzeto) v naraščajočem vrstnem redu na seznamu, ki ga vrne funkcija. Za pretvorbo tega podatkovnega tipa seznama v tuple () lahko uporabimo tuple ().
Obratni parameter funkcije sorted() lahko prav tako določa vrstni red razvrščanja. Naraščajoče je privzeti vrstni red razvrščanja. Elementi so razvrščeni v padajočem vrstnem redu, ko je nastavljeno reverse=True. Določimo lahko tudi ključno funkcijo, katere vrnjene vrednosti se uporabljajo za razvrščanje elementov. Vzamemo tuple, tuple_, ki ima celoštevilske vrednosti, in ga razvrstimo v naraščajočem vrstnem redu v naslednjem programu.
Vnos
tuple_ = (5, 2, 24, 3, 1, 6, 7) sorted_ = tuple(sorted(tuple_)) print('Sorted Tuple :', sorted_) print(type(sorted_))
Izhod:
Sorted Tuple : (1, 2, 3, 5, 6, 7, 24)
Zdaj razvrščamo tuple v padajočem vrstnem redu z isto funkcijo. Podajte reverse=True funkciji sorted() za razvrščanje tuple v padajočem vrstnem redu.
spremenljivka globalni javascript
Vnos
tuple_ = (5, 2, 24, 3, 1, 6, 7) sorted_ = tuple(sorted(tuple_, reverse=True)) print('Sorted Tuple :', sorted_) print(type(sorted_))
Izhod:
Sorted Tuple : (24, 7, 6, 5, 3, 2, 1)
Razvrščanje tuple na podlagi ključne funkcije
Ključ je funkcija, ki sprejme vrednost in vrne vrednost. Za vsakega od elementov v tuple se uporabi ta ključna funkcija, vrnjena vrednost pa se uporabi za primerjavo za razvrščanje elementov. V naslednjem programu razvrstimo tulko nizov glede na dolžino nizov. V tem primeru lahko kot ključ uporabimo vgrajeno funkcijo len().
Vnos
tuple_ = ('abhd', 'sbchcwsc', 'sjs', 'sxshs') sorted_ = tuple(sorted(tuple_, key=len)) print('Sorted Tuple :', sorted_) print(type(sorted_))
Izhod:
Sorted Tuple : ('sjs', 'abhd', 'sxshs', 'sbchcwsc')
Razvrščanje seznama tuples
Uporaba sorted()
Poglejmo, kako razvrstiti seznam v Pythonu z uporabo tuple. Razmislite o naslednjem scenariju: želimo razvrstiti seznam tulp. Tuple moramo razvrstiti glede na kateri koli ključ, ki nam je dan. To je mogoče doseči s funkcijo sorted(), ki razvršča elemente z uporabo ključa in shrani indeks ključa za razvrščanje danih tulp. Izvedba tega pristopa v Pythonu je naslednja:
ascii od a v Javi
Vnos
# 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_))
Izhod:
Sorted list of Tuples: [(27, 11, 32), (24, 12, 32), (34, 21, 56), (42, 34, 42)]
Uporaba Bubble Sort
Bubble sort je le algoritem za razvrščanje seznama poljubnega števila elementov. Če so sosednji elementi na danem seznamu v nepravilnem vrstnem redu, jih zamenja. Ta postopek nato ponavlja, dokler niso razvrščeni vsi elementi.
V tem primeru bomo uporabili algoritem za razvrščanje z mehurčki za razvrščanje seznama tupl.
int v char
Vnos
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)
Izhod:
[('Arshia', 26), ('Itika', 53), ('MJ', 45), ('Parker', 74), ('Peter', 82)]