Pythonis on kaks võimalust loendi sorteerimiseks kasvavas või kahanevas järjekorras.
sort()
sorted()
Kui soovite sorteerida stringi või tupli, kasutage sorteeritud().
Siin on esitatud järgmine teave.
- Loenditüüpi meetod, mis sorteerib esialgse loendi
sort()
- Uue sorteeritud nimekirja genereerimine, sisseehitatud funktsioon: .
sorted()
- Kuidas sorteerida stringid ja tuplid
Algse loendi sorteerimine, loenditüüpi meetod: sort()
sort() on loenditüüpi meetod.
Destruktiivne protsess, mille käigus kirjutatakse algne nimekiri ise ümber.
org_list = [3, 1, 4, 5, 2]
org_list.sort()
print(org_list)
# [1, 2, 3, 4, 5]
Pange tähele, et sort() tagastab None.
print(org_list.sort())
# None
Vaikimisi on kasvav järjekord. Kui soovite sorteerida kahanevas järjekorras, seadke argumendi reverse väärtuseks true.
org_list.sort(reverse=True)
print(org_list)
# [5, 4, 3, 2, 1]
Uue sorteeritud nimekirja genereerimine, sisseehitatud funktsioon: sorted()
sorted() on sisseehitatud funktsioon.
Tagastab sorteeritud loendi, kui argumendina on määratud sorteeritav loend. See on mittedestruktiivne protsess, mis ei muuda algset nimekirja.
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]
Nagu sort() puhul, on vaikimisi kasvav järjekord. Kui soovite sorteerida kahanevas järjekorras, seadke argumendi reverse väärtuseks 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]
Kuidas sorteerida stringid ja tuplid
Kuna stringid ja tuplid on muutumatud, ei ole algse objekti ümberkirjutamiseks saadaval meetodit sort().
Teisest küljest võib funktsiooni sorted(), mis genereerib uue objektina sorteeritud loendi, argumendiks olla nii string või tupel kui ka loend. Kuna aga sorted() tagastab loendi, tuleb see teisendada stringiks või tupliks.
Sorteerimine stringid
Kui funktsiooni sorteeritud() argumendiks on string, tagastatakse nimekiri, milles iga sorteeritud stringi märk on salvestatud elemendina.
org_str = 'cebad'
new_str_list = sorted(org_str)
print(org_str)
print(new_str_list)
# cebad
# ['a', 'b', 'c', 'd', 'e']
Stringide loendi ühendamiseks üheks stringiks kasuta meetodit join().
new_str = ''.join(new_str_list)
print(new_str)
# abcde
Kui soovite sorteerida kahanevas järjekorras, määrake argumendi reverse väärtuseks 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
Stringi suurus määratakse kindlaks tähemärgi Unicode-koodipunkti (tähemärgikoodi) järgi.
Tuppude sorteerimine
Tuplid on samad, mis stringid; kui määrata funktsiooni sorteeritud() argumendiks tupel, siis saadakse sorteeritud elementide loend.
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]
Loendi teisendamiseks tupliks kasuta funktsiooni tuple().
new_tuple = tuple(new_tuple_list)
print(new_tuple)
# (1, 2, 3, 4, 5)
Kui soovite sorteerida kahanevas järjekorras, määrake argumendi reverse väärtuseks 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)