Kétféleképpen lehet egy listát növekvő vagy csökkenő sorrendbe rendezni Pythonban.
sort()
sorted()
Ha egy karakterláncot vagy tömböt szeretnénk rendezni, használjuk a sorted() parancsot.
A következő információk itt találhatók.
- Egy list típusú metódus, amely az eredeti listát rendezi.
sort()
- Új rendezett lista létrehozása, beépített függvény: .
sorted()
- Hogyan rendezzük a karakterláncokat és a tuplikat
Az eredeti lista rendezése, egy list típusú metódus: sort()
A sort() egy lista típusú metódus.
Olyan destruktív folyamat, amely során maga az eredeti lista újraíródik.
org_list = [3, 1, 4, 5, 2]
org_list.sort()
print(org_list)
# [1, 2, 3, 4, 5]
Vegyük észre, hogy a sort() nem ad vissza semmit.
print(org_list.sort())
# None
Az alapértelmezett sorrend növekvő. Ha csökkenő sorrendbe akar rendezni, állítsa a reverse argumentumot true-ra.
org_list.sort(reverse=True)
print(org_list)
# [5, 4, 3, 2, 1]
Új rendezett lista generálása, beépített függvény: sorted()
A sorted() egy beépített függvény.
Rendezett listát ad vissza, ha a rendezni kívánt listát adjuk meg argumentumként. Ez egy nem romboló folyamat, amely nem változtatja meg az eredeti listát.
org_list = [3, 1, 4, 5, 2]
new_list = sorted(org_list)
print(org_list)
print(new_list)
# [3, 1, 4, 5, 2]
# [1, 2, 3, 4, 5]
A sort()-hoz hasonlóan az alapértelmezett sorrend növekvő. Ha csökkenő sorrendben szeretnénk rendezni, akkor a reverse argumentumot állítsuk true-ra.
new_list_reverse = sorted(org_list, reverse=True)
print(org_list)
print(new_list_reverse)
# [3, 1, 4, 5, 2]
# [5, 4, 3, 2, 1]
Hogyan rendezzük a karakterláncokat és a tuplikat
Mivel a karakterláncok és a tuplik megváltoztathatatlanok, nincs sort() metódus az eredeti objektum átírására.
Másrészt, a sorted() függvény argumentuma, amely egy rendezett listát hoz létre új objektumként, lehet egy string vagy tuple, valamint egy lista is. Mivel azonban a sorted() egy listát ad vissza, azt át kell konvertálni egy karakterlánccá vagy egy tuple-ba.
A karakterláncok rendezése
Ha a sorted() függvény argumentumaként egy karakterláncot adunk meg, egy olyan listát kapunk vissza, amelyben a rendezett karakterlánc minden egyes karaktere elemként van tárolva.
org_str = 'cebad'
new_str_list = sorted(org_str)
print(org_str)
print(new_str_list)
# cebad
# ['a', 'b', 'c', 'd', 'e']
A join() metódus segítségével egy listányi karakterláncot egyetlen karakterlánccá fűzhetünk össze.
new_str = ''.join(new_str_list)
print(new_str)
# abcde
Ha csökkenő sorrendben szeretne rendezni, állítsa a reverse argumentumot true-ra.
new_str = ''.join(sorted(org_str))
print(new_str)
# abcde
new_str_reverse = ''.join(sorted(org_str, reverse=True))
print(new_str_reverse)
# edcba
A karakterlánc méretét a karakter Unicode kódpontja (karakterkódja) határozza meg.
Tuplik rendezése
A tuplik ugyanolyanok, mint a karakterláncok; ha a sorted() függvény argumentumaként egy tuplit adunk meg, az elemek rendezett listáját kapjuk vissza.
org_tuple = (3, 1, 4, 5, 2)
new_tuple_list = sorted(org_tuple)
print(org_tuple)
print(new_tuple_list)
# (3, 1, 4, 5, 2)
# [1, 2, 3, 4, 5]
Egy listát tuplévá alakíthatunk a tuple() paranccsal.
new_tuple = tuple(new_tuple_list)
print(new_tuple)
# (1, 2, 3, 4, 5)
Ha csökkenő sorrendben szeretne rendezni, állítsa a reverse argumentumot true-ra.
new_tuple = tuple(sorted(new_tuple_list))
print(new_tuple)
# (1, 2, 3, 4, 5)
new_tuple_reverse = tuple(sorted(new_tuple_list, reverse=True))
print(new_tuple_reverse)
# (5, 4, 3, 2, 1)