Funkcija sorted
Funkcija sorted atgriež sakārtotu
sarakstu no iterējamiem objektiem - saraksta,
korteža, kopas, vārdnīcas. Pēc noklusējuma
funkcija sakārto saraksta elementus
alfabēta secībā vai augošā secībā.
Pirmajā parametrā tiek norādīts objekts sakārtošanai.
Otrajā neobligātajā parametrā var
norādīt parametru reverse,
kas nosaka sakārtošanas virzienu. Pēc noklusējuma
tā vērtība ir False.
Trešajā neobligātajā parametrā var norādīt atzvanes funkciju (callback) ar kritērijiem sakārtošanai.
Sintakse
sorted(objekts, [saraksta apgriešanas režīms], [funkcija sakārtošanai])
Piemērs
Sakārtosim mūsu sarakstu apgrieztā secībā:
lst1 = ['c', 'a', 'd', 'b', 'f', 'e']
lst2 = sorted(lst1, reverse=True)
print(lst2)
Koda izpildes rezultāts:
['f', 'e', 'd', 'c', 'b', 'a']
Piemērs
Tagad sakārtosim apgrieztā secībā sarakstu, kas sastāv no cipariem:
lst1 = [10, 8, 2, 6, 14]
lst2 = sorted(lst1, reverse=True)
print(lst2)
Koda izpildes rezultāts:
[14, 10, 8, 6, 2]
Piemērs
Sakārtosim mūsu burtu sarakstu bez
parametra norādes funkcijā sorted:
lst1 = ['c', 'a', 'd', 'b', 'f', 'e']
lst2 = sorted(lst1)
print(lst2)
Koda izpildes rezultāts:
['a', 'b', 'c', 'd', 'e', 'f']
Piemērs
Tagad sakārtosim arī sarakstu, kas sastāv no cipariem:
lst1 = [10, 8, 2, 6, 14]
lst2 = sorted(lst1)
print(lst2)
Koda izpildes rezultāts:
[2, 6, 8, 10, 14]
Piemērs
Sakārtosim kopu:
st = {'a', 'b', 'c', 'd', 'e', 'f'}
lst = sorted(st)
print(lst)
Koda izpildes rezultāts:
['a', 'b', 'c', 'd', 'e', 'f']
Piemērs
Sakārtosim kortežu:
tpl = ('a', 'b', 'c', 'd', 'e', 'f')
lst = sorted(tpl)
print(lst)
Koda izpildes rezultāts:
['a', 'b', 'c', 'd', 'e', 'f']
Piemērs
Sakārtosim vārdnīcu:
dct = {
'6': 'f',
'2': 'b',
'4': 'd',
'3': 'c',
'1': 'a',
'5': 'e'
}
lst = sorted(dct)
print(lst)
Pēc koda izpildes funkcija mums atgriezīs sakārtotu vārdnīcas atslēgu sarakstu:
['1', '2', '3', '4', '5', '6']
Piemērs
Arī ar funkcijas sorted palīdzību var
sakārtot virkni (string):
str = 'dacbfe'
lst = sorted(str)
print(lst)
Bet pēc izpildes mums arī tiks atgriezts sakārtots saraksts:
['a', 'b', 'c', 'd', 'e', 'f']