logo

Hogyan rendezzük a Tuple-t Pythonban

A tuples egy változó adattípusa, amely lehetővé teszi, hogy több objektumot tároljunk egy helyen. A tuple egy rendezett és változtathatatlan (egy sor elemeit nem tudjuk frissíteni) elemek gyűjteménye. Négy beépített Python adatstruktúra áll rendelkezésre az elemek tárolására, ezek közül az egyik egy sor, a többi pedig a Lista, a Szótár és a Set, mindegyik saját tulajdonságkészlettel és felhasználással rendelkezik. Kerek zárójelben vannak írva.

Tuple rendezése Pythonban

A sort() használata

A sort() metódust gyakran használják egy lista elemeinek növekvő sorrendbe rendezésére, ahol az első elemet alapértelmezés szerint rendezi. A sorokat úgy rendezhetjük, hogy először listává alakítjuk, majd ezt a függvényt alkalmazzuk. Ez a függvény a listát a helyére rendezi, és a None értéket adja vissza.

Bemenet

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

Kimenet:

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

A sorted() használata

A Pythonban használja a sorted() beépített függvényt a Tuple rendezéséhez. A leírót argumentumként kell átadni a sorted() függvénynek. A sorelemek (alapértelmezés szerint) növekvő sorrendben vannak rendezve a függvény által visszaadott listában. Ezt a lista adattípust egy tuple segítségével konvertálhatjuk le ().

A sorted() függvény fordított paramétere a rendezési sorrendet is megadhatja. A növekvő rendezés az alapértelmezett rendezési sorrend. Az elemek csökkenő sorrendben vannak rendezve, ha a reverse=True be van állítva. Megadhatunk egy kulcsfüggvényt is, amelynek visszaadott értékeit az elemek rendezésére használjuk. Veszünk egy tuple_ tuple-t, amelynek egész értékei vannak, és növekvő sorrendbe rendezzük a következő programban.

Bemenet

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

Kimenet:

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

Most csökkenő sorrendbe rendezzük a tuple-t ugyanazzal a funkcióval. Pass reverse=Igaz a sorted() függvényhez a sor csökkenő sorrendbe rendezéséhez.

Bemenet

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

Kimenet:

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

Tuple rendezése kulcsfüggvény alapján

A kulcs olyan függvény, amely értéket vesz fel és egy értéket ad vissza. A sor minden elemére ez a kulcsfüggvény kerül alkalmazásra, és a visszaadott értéket használja az összehasonlításhoz az elemek rendezéséhez. A következő programban sorba rendezzük a karakterláncokat a karakterláncok hossza alapján. Ebben az esetben használhatjuk a len() beépített függvényt kulcsként.

Bemenet

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

Kimenet:

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

Tuples rendezési listája

A sorted() használata

Nézzük meg, hogyan lehet egy listát rendezni Pythonban egy sor használatával. Tekintsük a következő forgatókönyvet: rendezni szeretnénk a sorok listáját. A sorokat minden nekünk adott kulcs szerint kell rendeznünk. Ez a sorted() függvénnyel valósítható meg, amely egy kulcs segítségével rendezi az elemeket, és tárolja a kulcsindexet az adott sorok rendezéséhez. Ennek a megközelítésnek a Python végrehajtása a következő:

Bemenet

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

Kimenet:

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

Buborékos rendezés használata

A buborékos rendezés csak egy rendezési algoritmus tetszőleges számú elemből álló lista rendezésére. Ha egy adott listában a szomszédos elemek helytelen sorrendben vannak, akkor felcseréli őket. Ezután ezt a folyamatot addig ismétli, amíg az összes elemet nem rendezi.

Ebben a példában a buborékok rendezési algoritmusát használjuk a sorok listájának rendezésére.

Bemenet

 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) 

Kimenet:

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