Þ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 listann
sort()
- 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)