Razvrstavanje popisa u Pythonu: razlika između sortiranog i sortiranog

Poslovanje

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 popissort()
  • 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)