Að raða lista í Python: munurinn á milli raðað og raðað

Viðskipti

Það eru tvær leiðir til að raða lista í hækkandi eða lækkandi röð í Python.

  • sort()
  • sorted()

Ef þú vilt raða streng eða tuple, notaðu sorted().

Eftirfarandi upplýsingar eru veittar hér.

  • Aðferð við tegundalista sem flokkar upprunalega listannsort()
  • Búðu til nýjan flokkaðan lista, innbyggða aðgerð: .sorted()
  • Hvernig á að flokka strengi og tuple

Að raða upprunalega listanum, aðferð við gerð lista: sort()

sort() er listategundaraðferð.

Eyðileggjandi ferli þar sem upprunalegi listinn sjálfur er endurskrifaður.

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

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

Athugaðu að sort() skilar Ekkert.

print(org_list.sort())
# None

Sjálfgefið er hækkandi röð. Ef þú vilt raða í lækkandi röð skaltu stilla röksemdafærsluna á satt.

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

Búðu til nýjan flokkaðan lista, innbyggða aðgerð: sorted()

sorted() er innbyggt fall.

Skilar flokkuðum lista þegar listinn sem á að flokka er tilgreindur sem viðfangsefni. Þetta er ekki eyðileggjandi ferli sem breytir ekki upprunalega listanum.

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]

Eins og með sort() er sjálfgefið hækkandi röð. Ef þú vilt raða í lækkandi röð skaltu stilla röksemdafærsluna á satt.

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]

Hvernig á að flokka strengi og tuple

Þar sem strengir og tuples eru óbreytanlegir, er engin sort() aðferð tiltæk til að endurskrifa upprunalega hlutinn.

Aftur á móti geta rök sortered() fallsins, sem myndar flokkaðan lista sem nýjan hlut, verið strengur eða tuple sem og listi. Hins vegar, þar sem sorted() skilar lista þarf að breyta honum í streng eða tuple.

Að flokka strengi

Þegar strengur er tilgreindur sem rökstuðningur sorted() fallsins er listi skilaður þar sem hver stafur flokkaða strengsins er geymdur sem stakur.

org_str = 'cebad'

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

Til að sameina lista yfir strengi í einn streng, notaðu join() aðferðina.

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

Ef þú vilt raða í lækkandi röð skaltu stilla röksemdafærsluna á satt.

new_str = ''.join(sorted(org_str))
print(new_str)
# abcde

new_str_reverse = ''.join(sorted(org_str, reverse=True))
print(new_str_reverse)
# edcba

Stærð strengs ræðst af Unicode kóðapunkti (stafakóða) stafsins.

Flokkun á túllum

Tuples eru það sama og strengir; með því að tilgreina tuple sem viðfangsefni sorted() fallsins skilar flokkuðum lista af þáttum.

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]

Til að breyta lista í tuple, notaðu tuple().

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

Ef þú vilt raða í lækkandi röð skaltu stilla röksemdafærsluna á satt.

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)