A Função Sorted em Python

Ana Maria Gomes
4 minutos de leitura

Conteúdos do tutorial

A função sorted em Python é uma ferramenta poderosa e versátil para ordenar elementos de uma sequência. Neste tutorial, vamos explorar como utilizar essa função de maneira eficiente, abordando desde os conceitos básicos até exemplos mais avançados. Se você é um programador intermediário em Python, este guia é para você.

O que é a Função Sorted em Python?

A função sorted em Python é utilizada para ordenar iteráveis, como listas, tuplas e conjuntos. Ela retorna uma nova lista com os elementos ordenados de acordo com a ordem padrão ou com uma função de comparação específica, se fornecida.

Sintaxe Básica

A sintaxe básica da função sorted é a seguinte:

sorted(iterable, key=None, reverse=False)
  • iterable: O iterável que você deseja ordenar.
  • key: Uma função que serve como base para a ordenação. (opcional)
  • reverse: Um booleano que, se definido como True, ordena os elementos em ordem decrescente. (opcional)

Exemplos Básicos

Vamos começar com alguns exemplos simples para entender como a função sorted funciona.

Ordenando uma Lista de Números

numeros = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
numeros_ordenados = sorted(numeros)
print(numeros_ordenados)
Testar

Saída:

[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]

Ordenando uma Lista de Strings

frutas = ['banana', 'abacaxi', 'uva']
frutas_ordenadas = sorted(frutas)
print(frutas_ordenadas)
Testar

Saída:

['abacaxi', 'banana', 'uva']

Utilizando a Função Key

A função key permite definir uma lógica personalizada para a ordenação. Vamos ver alguns exemplos.

Ordenando por Comprimento da String

frutas = ['banana', 'abacaxi', 'uva']
frutas_ordenadas = sorted(frutas, key=len)
print(frutas_ordenadas)
Testar

Saída:

['uva', 'banana', 'abacaxi']

Ordenando uma Lista de Dicionários

alunos = [
    {'nome': 'Juliano', 'idade': 30},
    {'nome': 'Laura', 'idade': 24},
    {'nome': 'Roberto', 'idade': 19},
    {'nome': 'Guilherme', 'idade': 47}
]
alunos_ordenados = sorted(alunos, key=lambda x: x['idade'])
print(alunos_ordenados)
Testar

Saída:

[{'nome': 'Roberto', 'idade': 19}, {'nome': 'Laura', 'idade': 24}, {'nome': 'Juliano', 'idade': 30}, {'nome': 'Guilherme', 'idade': 47}]

Ordenação Reversa

Para ordenar os elementos em ordem decrescente, utilize o parâmetro reverse=True.

Exemplo de Ordenação Reversa

numeros = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
numeros_ordenados_reverso = sorted(numeros, reverse=True)
print(numeros_ordenados_reverso)
Testar

Saída:

[9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]

Comparação com o Método Sort

A diferença entre sorted e o método sort é que sorted retorna uma nova lista ordenada, enquanto sort ordena a lista original.

Exemplo com Sorted

numeros = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
numeros_ordenados = sorted(numeros)
print(numeros_ordenados)
print(numeros)  # A lista original permanece inalterada
Testar

Exemplo com Sort

numeros = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
numeros.sort()
print(numeros)  # A lista original é alterada
Testar

Conclusão

A função sorted em Python é uma ferramenta essencial para qualquer programador que precise ordenar dados de maneira eficiente e flexível. Compreender como utilizar sorted com diferentes tipos de iteráveis e funções de comparação pode melhorar significativamente a qualidade e a eficiência do seu código.

Esperamos que este tutorial tenha ajudado você a entender melhor como utilizar a função sorted em Python. Se você tiver alguma dúvida ou sugestão, sinta-se à vontade para deixar um comentário abaixo.

Inscreva-se gratuitamente e fique atualizado

Receba toda semana um resumo dos principais conteúdos da Asimov direto no seu e-mail. 100% livre de spam.

Áreas de interesse: