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
sorted(objeto, [modo de reversão da lista], [função para ordenação])
Exemplo
Vamos ordenar nossa lista em ordem inversa:
lst1 = ['c', 'a', 'd', 'b', 'f', 'e']
lst2 = sorted(lst1, reverse=True)
print(lst2)
Resultado da execução do código:
['f', 'e', 'd', 'c', 'b', 'a']
Exemplo
E agora vamos ordenar em ordem inversa a lista composta por números:
lst1 = [10, 8, 2, 6, 14]
lst2 = sorted(lst1, reverse=True)
print(lst2)
Resultado da execução do código:
[14, 10, 8, 6, 2]
Exemplo
Vamos ordenar nossa lista de letras sem
especificar o parâmetro na função sorted
:
lst1 = ['c', 'a', 'd', 'b', 'f', 'e']
lst2 = sorted(lst1)
print(lst2)
Resultado da execução do código:
['a', 'b', 'c', 'd', 'e', 'f']
Exemplo
E agora vamos ordenar a lista composta por números:
lst1 = [10, 8, 2, 6, 14]
lst2 = sorted(lst1)
print(lst2)
Resultado da execução do código:
[2, 6, 8, 10, 14]
Exemplo
Vamos ordenar um conjunto:
st = {'a', 'b', 'c', 'd', 'e', 'f'}
lst = sorted(st)
print(lst)
Resultado da execução do código:
['a', 'b', 'c', 'd', 'e', 'f']
Exemplo
Vamos ordenar uma tupla:
tpl = ('a', 'b', 'c', 'd', 'e', 'f')
lst = sorted(tpl)
print(lst)
Resultado da execução do código:
['a', 'b', 'c', 'd', 'e', 'f']
Exemplo
Vamos ordenar um dicionário:
dct = {
'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:
['1', '2', '3', '4', '5', '6']
Exemplo
Também com a função sorted
é possível
ordenar uma string:
str = 'dacbfe'
lst = sorted(str)
print(lst)
Mas após a execução também será retornada uma lista ordenada:
['a', 'b', 'c', 'd', 'e', 'f']