Функция sorted

Функцията sorted връща сортиран списък от итерируеми обекти - списък, кортеж, множество, речник. По подразбиране функцията сортира елементите на списъка по азбучен ред или във възходящ ред.

В първия параметър се посочва обект за сортиране.

Във втория незадължителен параметър на метода може да се посочи параметър reverse, задаващ посоката на сортиране. По подразбиране той има стойност False.

В третия незадължителен параметър може да се посочи функция-обратно извикване с критерии за сортиране.

Синтаксис

pythonsorted(обект, [режим на обръщане на списъка], [функция за сортиране])

Пример

Нека сортираме нашия списък в обратен ред:

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

Резултат от изпълнението на кода:

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

Пример

А сега нека сортираме в обратен ред списък, състоящ се от цифри:

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

Резултат от изпълнението на кода:

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

Пример

Нека сортираме нашия списък от букви без да указваме параметър във функцията sorted:

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

Резултат от изпълнението на кода:

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

Пример

А сега нека сортираме и списък, състоящ се от цифри:

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

Резултат от изпълнението на кода:

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

Пример

Нека сортираме множество:

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

Резултат от изпълнението на кода:

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

Пример

Нека сортираме кортеж:

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

Резултат от изпълнението на кода:

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

Пример

Нека сортираме речник:

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

lst = sorted(dct)
print(lst)

След изпълнение на кода функцията ще върне сортиран списък от ключовете на речника:

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

Пример

Също така с функцията sorted може да се сортира и низ:

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

Но след изпълнение ще се върне и на нас сортиран списък:

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

Вижте също

  • метод sort,
    който сортира елементите на списъка
  • функция filter,
    която филтрира итерируеми обекти