Tuplas Python: sequências imutáveis e descompactação

Entenda as tuplas do Python. Aprenda quando usar tuplas em vez de listas, como funciona a descompactação de tuplas e como a imutabilidade garante a segurança dos dados.

Experimente no Editor

Visão geral

Uma tupla é uma sequência ordenada e imutável de elementos em Python. Ao contrário das listas, que estão entre colchetes `[]` e podem ser alteradas, as tuplas estão entre parênteses `()` e não podem ser modificadas depois de criadas. A tentativa de adicionar, anexar, excluir ou reatribuir elementos em uma tupla resultará em um erro de tempo de execução. Essa imutabilidade atua como um recurso de segurança, garantindo que os dados transmitidos pela sua aplicação permaneçam constantes e seguros.

Como as tuplas são imutáveis, elas são mais rápidas que as listas e usam menos memória. Eles também são hashable (desde que todos os elementos na tupla sejam hashable), o que permite que sejam usados ​​como chaves em dicionários ou elementos em conjuntos – uma lista de recursos não suporta. As tuplas são tradicionalmente usadas para agrupar registros de dados heterogêneos, como representar uma linha de banco de dados, coordenadas ou valores de cores RGB.

Um dos recursos mais elegantes das tuplas é o Tuple Unpacking. Isso permite atribuir elementos de uma tupla a variáveis ​​individuais em uma única linha (por exemplo, `x, y = coordenadas`). É muito usado ao retornar vários valores de uma função. Python também permite a troca dinâmica de variáveis ​​usando descompactação (`a, b = b, a`) sem a necessidade de uma terceira variável temporária, tornando seu código significativamente mais limpo e fácil de seguir.

Saída de código e execução

Criação de coordenadas como tuplas, demonstração de limites de imutabilidade e descompactação de elementos.

tuples_demo.py
Experimente no Editor
# Creating tuples
location = (40.7128, -74.0060)  # NYC Coordinates
print(f"Latitude: {location[0]}, Longitude: {location[1]}")

# Tuple unpacking
lat, lon = location
print(f"Unpacked Lat: {lat} | Unpacked Lon: {lon}")

# Function returning multiple values
def get_user_info():
    return "Alice", 25, "admin"

name, age, role = get_user_info()
print(f"{name} ({role}) is {age} years old.")
Saída terminal
Latitude: 40.7128, Longitude: -74.006
Unpacked Lat: 40.7128 | Unpacked Lon: -74.006
Alice (admin) is 25 years old.

Implementação passo a passo

  • Retornando vários valores de forma limpa de funções auxiliares
  • Armazenando constantes como coordenadas, cores ou registros de banco de dados
  • Definindo chaves de dicionário imutáveis para mapeamentos multidimensionais

Perguntas frequentes

Como defino uma tupla com um único elemento?

Você deve incluir uma vírgula final após o elemento, por exemplo, single_item = (42,). Sem a vírgula, o Python a trata como uma expressão padrão entre parênteses.

Você pode modificar uma lista aninhada dentro de uma tupla?

Sim. Embora a referência da tupla em si seja imutável, se ela contiver objetos mutáveis ​​como listas, você poderá modificar o conteúdo dessas listas no local.

Tópicos Relacionados

Recursos Python recomendados

Expanda seu conhecimento com tutoriais interativos relacionados, folhas de dicas e comparações de código.