Atualizado: 04/11/2024

Tuplas em Python

Uma tupla (tuple) é uma sequência de elementos que se assemelha bastante a uma lista, exceto pelo fato de que a tupla é um tipo imutável (immutable). Portanto, não podemos adicionar ou remover elementos em uma tupla nem modificá-la.

Para criar uma tupla, utilizam-se parênteses, onde os valores são inseridos separados por vírgulas:

tom = ("Tom", 23)
print(tom)     # ("Tom", 23)

Também é possível definir uma tupla apenas listando os valores separados por vírgula, sem o uso de parênteses:

tom = "Tom", 23
print(tom)     # ("Tom", 23)

Se a tupla contiver apenas um elemento, é necessário colocar uma vírgula após o único elemento:

tom = ("Tom",)

Para criar uma tupla a partir de outro conjunto de elementos, como uma lista, podemos passar a lista para a função tuple(), que retorna uma tupla:

data = ["Tom", 37, "Google"]
tom = tuple(data)
print(tom)      # ("Tom", 37, "Google")

A função incorporada len() pode ser usada para obter o tamanho(número de elementos que a compõe) de uma tupla:

tom = ("Tom", 37, "Google")
print(len(tom))     # 3

Acessando Elementos de uma Tupla

O acesso a elementos em uma tupla ocorre da mesma forma que em uma lista, por meio de índices. A indexação começa em zero para elementos contados do início e em -1 para elementos contados a partir do fim:

tom = ("Tom", 37, "Google", "software developer")
print(tom[0])       # Tom
print(tom[1])       # 37
print(tom[-1])      # software developer

Como a tupla é um tipo imutável, não podemos modificar seus elementos. Portanto, a seguinte operação não é permitida:

tom[1] = "Tim"

Podemos, no entanto, desempacotar uma tupla em variáveis separadas:

name, age, company, position = ("Tom", 37, "Google", "software developer")
print(name)         # Tom
print(age)          # 37
print(company)      # Google
print(position)     # software developer

Subtuplas

Assim como nas listas, é possível obter uma parte da tupla na forma de uma subtupla:

tom = ("Tom", 37, "Google", "software developer")

# Obter subtupla do índice 1 ao 2 (não incluindo o índice 3)
print(tom[1:3])     # (37, "Google")

# Obter subtupla do índice 0 ao 2 (não incluindo o índice 3)
print(tom[:3])     # ("Tom", 37, "Google")

# Obter subtupla do índice 1 até o último elemento
print(tom[1:])     # (37, "Google", "software developer")

Tupla como Parâmetro e Retorno de Funções

É particularmente útil usar tuplas quando precisamos retornar múltiplos valores de uma função. Na verdade, quando uma função retorna vários valores, ela retorna uma tupla:

def get_user():
    name = "Tom"
    age = 22
    company = "Google"
    return name, age, company

user = get_user()
print(user)     # ("Tom", 22, "Google")

Ao passar uma tupla para uma função, podemos usar o operador * para desempacotar os valores e passá-los como argumentos individuais:

def print_person(name, age, company):
    print(f"Name: {name}  Age: {age}  Company: {company}")

tom = ("Tom", 22)
print_person(*tom, "Microsoft")     # Name: Tom  Age: 22  Company: Microsoft

bob = ("Bob", 41, "Apple")
print_person(*bob)      # Name: Bob  Age: 41  Company: Apple

Iteração

Podemos iterar sobre uma tupla usando os loops for e while.

Usando for:

tom = ("Tom", 22, "Google")
for item in tom:
    print(item)

Usando while:

tom = ("Tom", 22, "Google")
i = 0
while i < len(tom):
    print(tom[i])
    i += 1

Verificando a Existência de um Elemento

s Assim como nas listas, é possível verificar se um elemento está presente em uma tupla usando a expressão element in tuple:

user = ("Tom", 22, "Google")
name = "Tom"
if name in user:
    print("O usuário se chama Tom")
else:
    print("O usuário tem outro nome")
Política de Privacidade

Copyright © www.programicio.com Todos os direitos reservados

É proibida a reprodução do conteúdo desta página sem autorização prévia do autor.

Contato: programicio@gmail.com