Postoje dva načina za sortiranje popisa uzlaznim ili silaznim redoslijedom u Pythonu.
sort()
sorted()
Ako želite sortirati niz ili tuple, koristite sorted().
Ovdje su navedene sljedeće informacije.
- Metoda popisa vrsta koja sortira izvorni popis
sort()
- Generirajte novi sortirani popis, ugrađena funkcija: .
sorted()
- Kako sortirati nizove i torke
Sortiranje izvornog popisa, metoda tipa popis: sort()
sort() je metoda tipa popisa.
Destruktivni proces u kojem se sam izvorni popis prepisuje.
org_list = [3, 1, 4, 5, 2]
org_list.sort()
print(org_list)
# [1, 2, 3, 4, 5]
Imajte na umu da sort() vraća Ništa.
print(org_list.sort())
# None
Zadani je uzlazni redoslijed. Ako želite sortirati u silaznom redoslijedu, postavite argument reverse na true.
org_list.sort(reverse=True)
print(org_list)
# [5, 4, 3, 2, 1]
Generirajte novi sortirani popis, ugrađena funkcija: sorted()
sorted() je ugrađena funkcija.
Vraća sortirani popis kada je popis za razvrstavanje naveden kao argument. Ovo je nedestruktivni proces koji ne mijenja izvorni popis.
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]
Kao i kod sort(), zadani je uzlazni redoslijed. Ako želite sortirati u silaznom redoslijedu, postavite argument reverse na true.
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]
Kako sortirati nizove i torke
Budući da su nizovi i torke nepromjenjivi, ne postoji dostupna metoda sort() za prepisivanje izvornog objekta.
S druge strane, argument funkcije sorted(), koja generira sortirani popis kao novi objekt, može biti string ili tuple kao i popis. Međutim, budući da sorted() vraća popis, potrebno ga je pretvoriti u niz ili tuple.
Razvrstavanje nizova
Kada je niz naveden kao argument funkcije sorted(), vraća se popis u kojem je svaki znak sortiranog niza pohranjen kao element.
org_str = 'cebad'
new_str_list = sorted(org_str)
print(org_str)
print(new_str_list)
# cebad
# ['a', 'b', 'c', 'd', 'e']
Da biste spojili popis nizova u jedan niz, koristite metodu join().
new_str = ''.join(new_str_list)
print(new_str)
# abcde
Ako želite sortirati u silaznom redoslijedu, postavite argument reverse na true.
new_str = ''.join(sorted(org_str))
print(new_str)
# abcde
new_str_reverse = ''.join(sorted(org_str, reverse=True))
print(new_str_reverse)
# edcba
Veličina niza je određena Unicode kodnom točkom (kodom znaka) znaka.
Razvrstavanje tuple
Korke su isto što i nizovi; navođenje torke kao argumenta funkcije sorted() vraća sortirani popis elemenata.
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]
Za pretvaranje popisa u tuple, koristite tuple().
new_tuple = tuple(new_tuple_list)
print(new_tuple)
# (1, 2, 3, 4, 5)
Ako želite sortirati u silaznom redoslijedu, postavite argument reverse na true.
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)