Curso de Python

Aula 11 - Tuplas em Python

Tuplas em Python

Tuplas são coleções de dados que, ao contrário das listas, não podem ser modificadas depois de criadas, isso é, com funções e métodos. São úteis quando você quer garantir que os dados sejam sempre os mesmos, para evitar erros ou que você altere dispercebido.

Criando tuplas

tuplas.py
# Forma mais comum, usando parênteses
tupla1 = ('elemento1', 'elemento2') 
# Também funciona sem parênteses
tupla2 = 'elemento1', 'elemento2' 

print(tupla1)
print(tupla2)

Índices em tuplas

Cada elemento da tupla tem uma posição (índice), começando do zero.

indices.py
frutas = ('Laranja', 'Maçã', 'Abacate')
# Índices:     0        1        2

# Acessando elementos pelos índices
print(frutas[0])  # Laranja
print(frutas[2])  # Abacate

# Índices negativos
print(frutas[-1])  # Abacate (último elemento)
print(frutas[-2])  # Maçã (penúltimo elemento)

Os índices em tuplas são basicamente a mesma coisa que os índices de listas, não há nenhuma diferença entre eles.

Tamanho da tupla

tamanho.py
coordenadas = ('N', 50, 100, -457, -121)
print(len(coordenadas))  # Retorna 5, pois há 5 elementos

Imutabilidade das tuplas

Após a criação, não é possível alterar os elementos.

imutabilidade.py
tupla = ('Maria', 'João', 'Pedro')
# tupla[2] = 'Felipe'  # Isso causaria um erro

Tuplas são iteráveis

iteracao.py
nome = ('Pedro')  # Isso é uma string, não uma tupla com um elemento
for letra in nome:
    print(letra)  # Imprime cada letra: P, e, d, r, o

Empacotamento de tupla

empacotamento.py
# Com parênteses
tupla = (1, 2, 3)
print(tupla)

# Sem parênteses
tupla = 4, 5, 6
print(tupla)

Desempacotamento de tupla

desempacotamento.py
# Desempacotamento básico
tupla = (10, 20, 30)
a, b, c = tupla
print(a)  # 10
print(b)  # 20
print(c)  # 30

# Com operador *
tupla = ('e1', 'e2', 'e3', 'e4', 'e5')
a, *resto = tupla
print(a)     # 'e1'
print(resto) # ['e2', 'e3', 'e4', 'e5']

Verificando existência de valores

pertence.py
tupla = (1, 2, 3, 4, 5)
print(3 in tupla)         # True
print('Felipe' not in tupla)  # True

Unindo tuplas

uniao.py
tupla1 = (250, 120)
tupla2 = (-35, 90)
tupla3 = tupla1 + tupla2
print(tupla3)  # (250, 120, -35, 90)

Fatiamento de tuplas

fatiamento.py
cores = ('Azul', 'Branco', 'Verde', 'Preto', 'Laranja')
print(cores[1])     # Branco
print(cores[-2])    # Preto
print(cores[1:4])   # ('Branco', 'Verde', 'Preto')

Conclusão

Tuplas são úteis quando queremos armazenar dados que não devem mudar. Elas se parecem com listas, mas não possuem métodos de modificação como append ou remove. Por serem imutáveis, são mais seguras e podem ser usadas como chave de dicionários, por exemplo.