Funktio sorted
Funktio sorted palauttaa lajitellun
listan iteroitavista olioista - listasta,
tuplesta, joukosta, sanakirjasta. Oletusarvoisesti
funktio lajittelee listan alkiot
aakkosjärjestykseen tai nousevassa järjestyksessä.
Ensimmäisessä parametrissa määritetään lajiteltava olio.
Toisessa valinnaisessa parametrissa metodissa
voidaan määrittää parametri reverse,
joka asettaa lajittelun suunnan. Oletusarvoisesti
sillä on arvo False.
Kolmannessa valinnaisessa parametrissa voidaan määrittää callback-funktio lajittelukriteereillä.
Syntaksi
sorted(olio, [listan kääntötila], [lajitteluun käytettävä funktio])
Esimerkki
Lajitellaan listamme käänteisessä järjestyksessä:
lst1 = ['c', 'a', 'd', 'b', 'f', 'e']
lst2 = sorted(lst1, reverse=True)
print(lst2)
Koodin suorituksen tulos:
['f', 'e', 'd', 'c', 'b', 'a']
Esimerkki
Lajitellaan nyt käänteisessä järjestyksessä numeerisista arvoista koostuva lista:
lst1 = [10, 8, 2, 6, 14]
lst2 = sorted(lst1, reverse=True)
print(lst2)
Koodin suorituksen tulos:
[14, 10, 8, 6, 2]
Esimerkki
Lajitellaan kirjaimista koostuva listamme ilman
parametrin määrittämistä funktiossa sorted:
lst1 = ['c', 'a', 'd', 'b', 'f', 'e']
lst2 = sorted(lst1)
print(lst2)
Koodin suorituksen tulos:
['a', 'b', 'c', 'd', 'e', 'f']
Esimerkki
Lajitellaan nyt lista, joka koostuu numeerisista arvoista:
lst1 = [10, 8, 2, 6, 14]
lst2 = sorted(lst1)
print(lst2)
Koodin suorituksen tulos:
[2, 6, 8, 10, 14]
Esimerkki
Lajitellaan joukko:
st = {'a', 'b', 'c', 'd', 'e', 'f'}
lst = sorted(st)
print(lst)
Koodin suorituksen tulos:
['a', 'b', 'c', 'd', 'e', 'f']
Esimerkki
Lajitellaan tuple:
tpl = ('a', 'b', 'c', 'd', 'e', 'f')
lst = sorted(tpl)
print(lst)
Koodin suorituksen tulos:
['a', 'b', 'c', 'd', 'e', 'f']
Esimerkki
Lajitellaan sanakirja:
dct = {
'6': 'f',
'2': 'b',
'4': 'd',
'3': 'c',
'1': 'a',
'5': 'e'
}
lst = sorted(dct)
print(lst)
Koodin suorituksen jälkeen funktio palauttaa meille lajitellun listan sanakirjan avaimista:
['1', '2', '3', '4', '5', '6']
Esimerkki
Funktiolla sorted voidaan myös
lajitella merkkijono:
str = 'dacbfe'
lst = sorted(str)
print(lst)
Mutta suorituksen jälkeen meille palautetaan myös lajiteltu lista:
['a', 'b', 'c', 'd', 'e', 'f']