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.

Sorting é uma operação fundamental na ciência da computação, e Python oferece ferramentas integradas poderosas para ordenar data com eficiência. A principal função para ordenar é sorted(), que pode ser usada para ordenar vários tipos de data, incluindo numbers, strings e objetos mais complexos.

Sorting básico:

A função sorted() recebe um iterável (por exemplo, uma lista, uma tupla ou um conjunto) como argumento e retorna uma nova lista contendo os elementos sorted. Por padrão, ela faz a ordenação em ascending.

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 ascending.

Classificação reversa:

Para classificar em ordem descending, 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() classifica a lista numbers em ordem descending.

Sorting Strings:

A função sorted() também pode ordenar strings com base na 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, sorted() classifica a lista words em ordem alphabetically.

Classificação personalizada com a função key:

Para necessidades de classificação mais complexas, você pode usar o parâmetro key para especificar uma função que determina a ordem de classificação. A função key é aplicada a cada elemento antes da classificaçã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 each palavra, usando a função len() como key.

challenge icon

Desafio

Fácil

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

  1. Ordene uma lista de numbers em ascending order.
  2. Ordene a mesma lista de numbers em descending order.
  3. Ordene uma lista de strings em alphabetical order.
  4. Ordene a mesma lista de strings com base em seu length.

Experimente você mesmo

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

# Tarefa 1: Ordene os números em ordem crescente
# Tarefa 2: Ordene os números em ordem decrescente
# Tarefa 3: Ordene as palavras alfabeticamente
# Tarefa 4: Ordene as palavras por comprimento

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

# Imprima 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

Pratique por conta própria: Compilador de Python online