Menu
Coddy logo textTech

Ordenando Dados de Forma Eficiente

Parte da seção Logic & Flow do Journey de Python da Coddy — lição 48 de 78.

A ordenação é uma operação fundamental na ciência da computação, e o Python oferece ferramentas integradas poderosas para ordenar dados de forma eficiente. A principal função para ordenação é sorted(), que pode ser usada para ordenar vários tipos de dados, incluindo números, strings e objetos mais complexos.

Ordenação Básica:

A função sorted() recebe um iterável (ex: uma lista, tupla ou conjunto) como seu argumento e retorna uma nova lista contendo os elementos ordenados. Por padrão, ela ordena em ordem crescente.

numbers = [3, 1, 4, 1, 5, 9, 2, 6]
sorted_numbers = sorted(numbers)
print(sorted_numbers)
# Saída: [1, 1, 2, 3, 4, 5, 6, 9]

Neste exemplo, sorted() ordena a lista numbers em ordem crescente.

Ordenação Reversa:

Para ordenar em ordem decrescente, você pode usar o parâmetro reverse e defini-lo como True.

numbers = [3, 1, 4, 1, 5, 9, 2, 6]
sorted_numbers_desc = sorted(numbers, reverse=True)
print(sorted_numbers_desc)
# Saída: [9, 6, 5, 4, 3, 2, 1, 1]

Aqui, sorted() ordena a lista numbers em ordem decrescente.

Ordenando Strings:

A função sorted() também pode ordenar strings com base em sua ordem lexicográfica (ou seja, a ordem em que apareceriam em um dicionário).

words = ["apple", "banana", "cherry"]
sorted_words = sorted(words)
print(sorted_words)
# Saída: ['apple', 'banana', 'cherry']

Neste exemplo, o sorted() ordena a lista words em ordem alfabética.

Ordenação Personalizada com a Função Key:

Para necessidades de ordenação mais complexas, você pode usar o parâmetro key para especificar uma função que determina a ordem de ordenação. A função key é aplicada a cada elemento antes da ordenação e os valores retornados são usados para comparação.

words = ["banana", "kiwi", "fig"]
sorted_words_by_length = sorted(words, key=len)
print(sorted_words_by_length)
# Saída: ['fig', 'kiwi', 'banana']

Neste caso, sorted() ordena a lista words com base no comprimento de cada palavra, usando a função len() como a key.

challenge icon

Desafio

Fácil

Escreva um programa que realize as seguintes tarefas de ordenação usando a função sorted():

  1. Ordene uma lista de números em ordem crescente.
  2. Ordene a mesma lista de números em ordem decrescente.
  3. Ordene uma lista de strings em ordem alfabética.
  4. Ordene a mesma lista de strings com base em seu comprimento.

Folha de consulta

A função sorted() ordena dados e retorna uma nova lista com os elementos ordenados.

Ordenação básica (ordem crescente):

numbers = [3, 1, 4, 1, 5, 9, 2, 6]
sorted_numbers = sorted(numbers)
# Saída: [1, 1, 2, 3, 4, 5, 6, 9]

Ordenação reversa (ordem decrescente):

sorted_numbers_desc = sorted(numbers, reverse=True)
# Saída: [9, 6, 5, 4, 3, 2, 1, 1]

Ordenando strings em ordem alfabética:

words = ["apple", "banana", "cherry"]
sorted_words = sorted(words)
# Saída: ['apple', 'banana', 'cherry']

Ordenação personalizada com função key:

sorted_words_by_length = sorted(words, key=len)
# Ordena pelo comprimento da string

Experimente você mesmo

# Entradas iniciais
numbers = [5, 3, 8, 1, 2]
words = ["elephant", "cat", "dolphin", "bee"]

# Tarefa 1: Ordenar números em ordem crescente
# Tarefa 2: Ordenar números em ordem decrescente
# Tarefa 3: Ordenar palavras em ordem alfabética
# Tarefa 4: Ordenar palavras por comprimento

# Substitua 'pass' pelo seu código para cada tarefa
ascending_numbers = None
descending_numbers = None
alphabetical_words = None
length_sorted_words = None

# Imprimir os resultados
print("Ascending:", ascending_numbers)
print("Descending:", descending_numbers)
print("Alphabetical:", alphabetical_words)
print("By Length:", length_sorted_words)
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Logic & Flow