Funkcja sorted

Funkcja sorted zwraca posortowaną listę z iterowalnych obiektów - listy, krotki, zbioru, słownika. Domyślnie funkcja sortuje elementy listy alfabetycznie lub w porządku rosnącym.

W pierwszym parametrze wskazuje się obiekt do sortowania.

W drugim opcjonalnym parametrze metody można wskazać parametr reverse, określający kierunek sortowania. Domyślnie ma on wartość False.

W trzecim opcjonalnym parametrze można wskazać funkcję-zwrotną z kryteriami sortowania.

Składnia

pythonsorted(obiekt, [tryb odwrócenia listy], [funkcja do sortowania])

Przykład

Posortujmy naszą listę w odwrotnej kolejności:

pythonlst1 = ['c', 'a', 'd', 'b', 'f', 'e']
lst2 = sorted(lst1, reverse=True)
print(lst2)

Wynik wykonania kodu:

python['f', 'e', 'd', 'c', 'b', 'a']

Przykład

A teraz posortujmy w odwrotnej kolejności listę składającą się z cyfr:

pythonlst1 = [10, 8, 2, 6, 14]
lst2 = sorted(lst1, reverse=True)
print(lst2)

Wynik wykonania kodu:

python[14, 10, 8, 6, 2]

Przykład

Posortujmy naszą listę z liter bez wskazywania parametru w funkcji sorted:

pythonlst1 = ['c', 'a', 'd', 'b', 'f', 'e']
lst2 = sorted(lst1)
print(lst2)

Wynik wykonania kodu:

python['a', 'b', 'c', 'd', 'e', 'f']

Przykład

A teraz posortujmy listę składającą się z cyfr:

pythonlst1 = [10, 8, 2, 6, 14]
lst2 = sorted(lst1)
print(lst2)

Wynik wykonania kodu:

python[2, 6, 8, 10, 14]

Przykład

Posortujmy zbiór:

pythonst = {'a', 'b', 'c', 'd', 'e', 'f'}
lst = sorted(st)
print(lst)

Wynik wykonania kodu:

python['a', 'b', 'c', 'd', 'e', 'f']

Przykład

Posortujmy krotkę:

pythontpl = ('a', 'b', 'c', 'd', 'e', 'f')
lst = sorted(tpl)
print(lst)

Wynik wykonania kodu:

python['a', 'b', 'c', 'd', 'e', 'f']

Przykład

Posortujmy słownik:

pythondct = {
  '6': 'f',
  '2': 'b',
  '4': 'd',
  '3': 'c',
  '1': 'a',
  '5': 'e'
}

lst = sorted(dct)
print(lst)

Po wykonaniu kodu funkcja zwróci nam posortowaną listę kluczy słownika:

python['1', '2', '3', '4', '5', '6']

Przykład

Również za pomocą funkcji sorted można posortować i string:

pythonstr = 'dacbfe'
lst = sorted(str)
print(lst)

Ale po wykonaniu również zostanie zwrócona posortowana lista:

python['a', 'b', 'c', 'd', 'e', 'f']

Zobacz też

  • metoda sort,
    która sortuje elementy listy
  • funkcja filter,
    która filtruje iterowalne obiekty