0Pricing
Coding Interview Prep · Aula

sorted() e a Função key

Ordene números, strings e tuplas.

sorted() e a Função key é uma aula grátis de Coding Interview Prep no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Coding Interview Prep, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Coding Interview Prep inclui 4 aulas no total.

Ordenar ajuda a vencer competições

Muitos problemas de competições ficam fáceis quando os dados estão ordenados. Sua primeira ferramenta é sorted(), que retorna uma nova lista ordenada. 🏆

sorted() retorna uma cópia

Chamar sorted(nums) não altera a lista original e fornece uma nova lista ordenada. É ótimo quando você ainda precisa da entrada depois.

nums = [3, 1, 2]
print(sorted(nums))   # [1, 2, 3]
print(nums)           # [3, 1, 2]

list.sort() ordena no próprio lugar

Quando você não precisa da ordem original, list.sort() ordena no próprio lugar e retorna None. Isso economiza memória em vetores grandes.

nums = [3, 1, 2]
nums.sort()
print(nums)   # [1, 2, 3]

A ordem padrão é crescente

Por padrão, Python ordena do menor para o maior. Os números vão do menor ao maior, e as strings seguem a ordem de dicionário, caractere por caractere.

print(sorted(["pear", "apple", "kiwi"]))
# ['apple', 'kiwi', 'pear']

Inverta com reverse

Passe reverse=True para ordenar do maior para o menor. É perfeito quando uma etapa gulosa precisa dos maiores elementos primeiro.

print(sorted([3, 1, 2], reverse=True))
# [3, 2, 1]

Conheça o argumento key

O argumento key informa ao mecanismo de ordenação como classificar cada item. Python chama key para cada elemento e ordena pelos valores retornados.

words = ["bb", "a", "ccc"]
print(sorted(words, key=len))
# ['a', 'bb', 'ccc']

key com uma lambda

Uma pequena lambda permite ordenar por qualquer expressão diretamente. Aqui, ordenamos os números pela distância deles até zero.

vals = [-5, 2, -1, 3]
print(sorted(vals, key=lambda x: abs(x)))
# [-1, 2, 3, -5]

Ordene objetos por um campo

Com tuplas ou registros, aponte key para o campo importante. O restante do item acompanha a ordenação sem trabalho adicional.

people = [("Ann", 30), ("Bob", 25)]
print(sorted(people, key=lambda p: p[1]))
# [('Bob', 25), ('Ann', 30)]

A ordenação é estável

A ordenação do Python é estável: chaves iguais mantêm sua ordem relativa original. Isso permite encadear ordenações para desempatar com segurança.

key é melhor do que comparar manualmente

Uma key é calculada uma vez por elemento, portanto continua rápida em entradas grandes. Use-a em vez de trocar os itens manualmente.

Ordenar custa O(n log n)

Python ordena em tempo O(n log n). Para n de até algumas centenas de milhares, isso normalmente cabe com folga em um limite de um segundo.

Verificação rápida

Você precisa ordenar a lista, mas deve manter a original intacta.

Recapitulação

Você pode ordenar dados com sorted() ou ordenar no próprio lugar, inverter com reverse e classificar qualquer coisa usando uma key. A ordenação estável mantém os empates organizados. 🎉

Perguntas Frequentes

A aula “sorted() e a Função key” é grátis?

Sim — o texto completo de “sorted() e a Função key” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Coding Interview Prep, atualize para CoddyKit PRO. O curso de Coding Interview Prep inclui 4 aulas no total.

O que vou aprender em “sorted() e a Função key”?

Ordene números, strings e tuplas. Você pratica Coding Interview Prep com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Coding Interview Prep?

Nenhuma experiência prévia é necessária. Coding Interview Prep no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “sorted() e a Função key”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Coding Interview Prep?

Sim. Cada aula de Coding Interview Prep inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. sorted() e a Função key
  2. Ordene por Vários Campos
  3. Ordem Personalizada com functools.cmp_to_key
  4. Por que Ordenar Primeiro Desbloqueia Soluções
← Voltar para Coding Interview Prep