Triedenie zoznamu v jazyku Python: rozdiel medzi triedeným a zoradeným

obchodné

V jazyku Python existujú dva spôsoby, ako zoradiť zoznam vzostupne alebo zostupne.

  • sort()
  • sorted()

Ak chcete zoradiť reťazec alebo tuple, použite funkciu sorted().

Tu sú uvedené tieto informácie.

  • Metóda typu list, ktorá triedi pôvodný zoznamsort()
  • Generovanie nového zoradeného zoznamu, vstavaná funkcia: .sorted()
  • Ako triediť reťazce a tuply

Triedenie pôvodného zoznamu, metóda typu list: sort()

sort() je metóda typu zoznam.

Deštruktívny proces, pri ktorom sa prepíše samotný pôvodný zoznam.

org_list = [3, 1, 4, 5, 2]

org_list.sort()
print(org_list)
# [1, 2, 3, 4, 5]

Všimnite si, že funkcia sort() vracia hodnotu None.

print(org_list.sort())
# None

Predvolené je vzostupné poradie. Ak chcete triediť zostupne, nastavte argument reverse na true.

org_list.sort(reverse=True)
print(org_list)
# [5, 4, 3, 2, 1]

Generovanie nového zoradeného zoznamu, vstavaná funkcia: sorted()

sorted() je vstavaná funkcia.

Vráti zoradený zoznam, ak je ako argument uvedený zoznam, ktorý sa má zoradiť. Ide o nedeštruktívny proces, ktorý nemení pôvodný zoznam.

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]

Rovnako ako pri funkcii sort() je predvolené poradie vzostupné. Ak chcete triediť zostupne, nastavte 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]

Ako triediť reťazce a tuply

Keďže reťazce a tuply sú nemenné, nie je k dispozícii metóda sort() na prepísanie pôvodného objektu.

Na druhej strane argumentom funkcie sorted(), ktorá generuje zoradený zoznam ako nový objekt, môže byť reťazec alebo tuple, ako aj zoznam. Keďže však funkcia sorted() vracia zoznam, je potrebné ho konvertovať na reťazec alebo tuple.

Triedenie reťazcov

Ak je ako argument funkcie sorted() zadaný reťazec, vráti sa zoznam, v ktorom je každý znak zoradeného reťazca uložený ako prvok.

org_str = 'cebad'

new_str_list = sorted(org_str)
print(org_str)
print(new_str_list)
# cebad
# ['a', 'b', 'c', 'd', 'e']

Ak chcete spojiť zoznam reťazcov do jedného reťazca, použite metódu join().

new_str = ''.join(new_str_list)
print(new_str)
# abcde

Ak chcete triediť zostupne, nastavte 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

Veľkosť reťazca je určená kódovým bodom Unicode (kódom znaku) znaku.

Triedenie tuplov

Tuply sú rovnaké ako reťazce; zadanie tuplu ako argumentu funkcie sorted() vráti zoradený zoznam prvkov.

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]

Ak chcete previesť zoznam na tuple, použite funkciu tuple().

new_tuple = tuple(new_tuple_list)
print(new_tuple)
# (1, 2, 3, 4, 5)

Ak chcete triediť zostupne, nastavte 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)
Copied title and URL