Função sorted

A função sorted retorna uma lista ordenada de objetos iteráveis - lista, tupla, conjunto, dicionário. Por padrão, a função ordena os elementos da lista em ordem alfabética ou em ordem crescente.

No primeiro parâmetro é especificado o objeto a ser ordenado.

No segundo parâmetro opcional do método pode-se especificar o parâmetro reverse, que define a direção da ordenação. Por padrão, ele tem o valor False.

No terceiro parâmetro opcional pode-se especificar uma função de callback com os critérios de ordenação.

Sintaxe

pythonsorted(objeto, [modo de reversão da lista], [função para ordenação])

Exemplo

Vamos ordenar nossa lista em ordem inversa:

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

Resultado da execução do código:

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

Exemplo

E agora vamos ordenar em ordem inversa a lista composta por números:

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

Resultado da execução do código:

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

Exemplo

Vamos ordenar nossa lista de letras sem especificar o parâmetro na função sorted:

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

Resultado da execução do código:

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

Exemplo

E agora vamos ordenar a lista composta por números:

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

Resultado da execução do código:

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

Exemplo

Vamos ordenar um conjunto:

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

Resultado da execução do código:

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

Exemplo

Vamos ordenar uma tupla:

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

Resultado da execução do código:

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

Exemplo

Vamos ordenar um dicionário:

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

lst = sorted(dct)
print(lst)

Após a execução do código a função retornará uma lista ordenada das chaves do dicionário:

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

Exemplo

Também com a função sorted é possível ordenar uma string:

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

Mas após a execução também será retornada uma lista ordenada:

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

Veja também

  • método sort,
    que ordena os elementos de uma lista
  • função filter,
    que filtra objetos iteráveis