Lista rendezése Pythonban: a különbség a rendezett és a rendezett között

Üzleti

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)