Tuplas em Python Item 5.13

Guia Visual e Interativo de Estruturas Imutáveis

Livro de Algoritmos - Cap. 5: Organizando a Informação

Sequências Ordenadas &
Estritamente Imutáveis

Uma **Tupla** em Python é uma sequência de elementos delimitada por parênteses (a, b, c). A principal diferença em relação às listas é que as tuplas **não podem ser alteradas** após sua criação.

Garantia de Integridade
Imutável
Desempenho & Memória
Mais Leve que Lista
Pode ser Chave de Dict
Hashable (Segura)
exemplo_tupla.py
# Criando uma tupla (coordenadas GPS)
localizacao = (-22.9068, -43.1729)

# Acesso por índice funciona normalmente
print(localizacao[0])  # -> -22.9068

# Tentativa de alteração resulta em Erro!
# localizacao[0] = -23.0  # TypeError!

# Desempacotamento elegante (Unpacking)
lat, lng = localizacao
print(f"Lat: {lat}, Long: {lng}")

1. Entendendo Tuplas (Regras, Sintaxe e Comparativo)

Quando escolher uma Tupla em vez de uma Lista ou Dicionário?

Item 5.13
Tupla (1, 2)
  • Imutável: Seus valores não podem ser alterados, inseridos ou removidos.
  • Segurança: Protege dados constantes contra edições acidentais no código.
  • Hashable: Pode ser usada como chave de Dicionário ou elemento de Set.
Lista [1, 2]
  • Mutável: Permite append(), pop() e alteração de índices.
  • Unhashable: Não pode ser chave de dicionário pois seu conteúdo muda.
  • Ideal para coleções homogêneas e dinâmicas de itens.
Atenção: Tupla de 1 Elemento!

Em Python, colocar apenas parênteses em volta de um valor (5) não cria uma tupla, cria um número inteiro! Para ser tupla, é **obrigatório incluir a vírgula**:

a = (5) # tipo: int !
b = (5,) # tipo: tuple (correto!)

2. Laboratório Interativo de Imutabilidade

Sinta o efeito da imutabilidade no Python em tempo real e teste operações em tuplas!

Painel do Experimento

Criar Nova Tupla: minha_tupla = (...)
Testar Mutação (Tentativa de Modificação)

Tente atribuir um novo valor ao elemento no índice especificado:

Operações Válidas (Leitura)
Tupla carregada com sucesso na memória. Imutável
minha_tupla = (
4 elementos
)

3. Operações, Desempacotamento & Casos Práticos

Descubra os recursos mais utilizados do dia a dia ao trabalhar com tuplas em projetos Python.

Desempacotamento Simples

Atribua diretamente cada elemento da tupla a variáveis distintas em uma única linha.

ponto = (10, 20)
x, y = ponto # x=10, y=20
Operador Asterisco *

Capta os elementos restantes da tupla em uma lista secundária automaticamente.

valores = (1, 2, 3, 4)
primeiro, *resto = valores
# primeiro=1, resto=[2, 3, 4]
Retorno Múltiplo de Funções

Quando uma função retorna múltiplos valores separados por vírgula, ela está retornando uma Tupla!

def min_max(lista):
return min(lista), max(lista)
menor, maior = min_max([5, 2, 9])
Chaves em Dicionários

Por ser imutável (hashable), uma tupla pode ser usada como chave de um dicionário (ex: matrizes esparsas).

matriz = {}
matriz[(0, 2)] = "Bispo"
print(matriz[(0, 2)])
União + e Repetição *

Unir duas tuplas cria uma nova tupla na memória sem alterar as originais.

t1 = (1, 2)
t2 = (3, 4)
t_nova = t1 + t2 # (1, 2, 3, 4)
Fatiamento de Tuplas

Extraia subtuplas informando o intervalo de índices [inicio:fim:passo].

letras = ('a', 'b', 'c', 'd')
sub = letras[1:3] # ('b', 'c')

4. Playground de Execução

Escolha um dos exemplos com tuplas e simule a saída do código Python em tempo real.

playground_tuplas.py
Saída do Console
// Clique em "Executar" para ver o resultado do script...

5. Desafios & Teste de Conhecimento

Verifique seu aprendizado sobre o item 5.13 com perguntas práticas sobre Tuplas.

Pergunta 1 de 4 Pontuação: 0