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
# 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.
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
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.
tupla = ('Maria', 'João', 'Pedro')
# tupla[2] = 'Felipe' # Isso causaria um erro
Tuplas são iteráveis
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
# Com parênteses
tupla = (1, 2, 3)
print(tupla)
# Sem parênteses
tupla = 4, 5, 6
print(tupla)
Desempacotamento de tupla
# 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
tupla = (1, 2, 3, 4, 5)
print(3 in tupla) # True
print('Felipe' not in tupla) # True
Unindo tuplas
tupla1 = (250, 120)
tupla2 = (-35, 90)
tupla3 = tupla1 + tupla2
print(tupla3) # (250, 120, -35, 90)
Fatiamento de tuplas
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.