CodeGym /Cursos /Python SELF PT /Tuplas (Tuple)

Tuplas (Tuple)

Python SELF PT
Nível 8 , Lição 1
Disponível

10.1 Tupla e suas propriedades

As tuplas fazem parte dos quatro tipos de coleções embutidos em Python.

Como você já sabe, em Python existem vários tipos de dados embutidos que permitem armazenar grupos de objetos. Isso inclui list — lista, tuple — tupla, set — conjunto, dictionary — dicionário. Hoje vamos ver o segundo e um dos mais simples entre eles — a tupla.

A tupla (tuple) permite armazenar vários elementos. Cada elemento tem seu próprio número de ordem, o que torna a tupla ordenada — ordered. Nesse sentido, é semelhante a uma lista.

Você não pode mudar a tupla — uma vez criada, ela permanece imutável, o que a torna ideal para armazenar dados que não devem ser alterados no programa. Por isso, sua segunda característica é a imutabilidade (immutable).

Quanto a duplicatas — em uma tupla, você pode armazenar elementos semelhantes várias vezes — allow duplicates. Novamente, muito parecido com uma lista.

Útil. Você pode pensar na tupla como uma lista imutável que usa parênteses () em vez de colchetes [].

10.2 Criando uma tupla

Tuplas são sequências imutáveis de elementos, que podem ser criadas de várias maneiras. Aqui estão as mais comuns:

Declaração direta:

Você pode criar tuplas diretamente usando parênteses () e vírgulas para separar os elementos.


tuple1 = (1, 2, 3)
tuple2 = ("apple", "banana", "cherry", "apple", "cherry")
tuple3 = (1, "apple", True)

Sem parênteses:

Python permite criar tuplas sem usar parênteses, apenas separando os elementos com vírgulas.


tuple1 = 1, 2, 3
tuple2 = "apple", "banana", "cherry", "apple", "cherry"
tuple3 = 1, "apple", True

Tupla de um elemento:

Para criar uma tupla com um único elemento precisa adicionar uma vírgula após esse elemento.


tuple1 = (1,)
tuple2 = ("apple",)
tuple3 = (True,)

Uso de tuple():

A função tuple() converte um objeto iterável em uma tupla. Isso pode ser uma lista, string ou qualquer outro objeto iterável.


list_to_tuple = tuple([1, 2, 3])

10.3 Desempacotando elementos da tupla

Ao trabalhar com tuplas, você pode agrupar vários elementos em uma tupla ou desempacotar uma tupla em várias variáveis, o que simplifica o código:

Desempacotamento básico

Exemplo de desempacotamento de uma tupla em variáveis:


my_tuple = (1, 2, 3)
x, y, z = my_tuple

Aqui as variáveis x, y e z recebem os valores 1, 2 e 3 respectivamente.

Desempacotamento avançado

Python também suporta desempacotamento avançado, que permite extrair partes da tupla em uma lista usando o símbolo *:


a, *b, c = (1, 2, 3, 4, 5)  # a = 1, b = [2, 3, 4], c = 5

Neste exemplo, a e c recebem o primeiro e o último valores, enquanto b se torna uma lista com todos os valores restantes.

Aplicação em funções

O desempacotamento de tuplas é frequentemente usado ao passar parâmetros para funções. Isso é especialmente conveniente quando uma função aceita um número variável de argumentos ou quando os argumentos são previamente agrupados em tuplas ou listas:


def func(a, b, c):
    print(a, b, c)
        
values = (1, 2, 3)
func(*values)

Particularidades de uso

O desempacotamento de tuplas requer uma correspondência exata do número de elementos na tupla com o número de variáveis às quais eles são atribuídos, caso contrário, um erro será gerado. No entanto, usar * para coletar elementos extras evita esse erro, tornando o código mais flexível para mudanças nos dados.

10.4 Lista de métodos

As tuplas são objetos imutáveis, então elas têm quase nenhum dos seus próprios métodos. Apenas dois 😊

Função count(x):

Retorna o número de vezes que x aparece na tupla. Isso é útil para contar quantos de determinados elementos existem.


t = (1, 2, 3, 2, 4, 2)
print(t.count(2)) # Vai imprimir 3 

Função index(x):

Retorna o índice da primeira ocorrência do elemento x na tupla. Se o elemento não for encontrado, uma exceção ValueError é levantada.


t = (1, 2, 3, 2, 4, 2)
print(t.index(3)) # Vai imprimir 2 

Embora esses sejam todos os métodos da classe tuple, isso não significa que não se pode fazer nada com ela. É possível, só que um pouco mais complicado.

Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION