CodeGym /Cursos /Python SELF PT /Trabalho avançado com tuplas

Trabalho avançado com tuplas

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

15.1 Criando uma cópia de uma tupla

Então, a gente já sabe que tuplas (tuples) são sequências imutáveis de elementos. Por causa dessa imutabilidade, criar uma cópia de uma tupla pode parecer uma tarefa insignificante, já que, diferente de listas, tuplas não mudam depois de serem criadas.

Contudo, às vezes pode ser necessário criar uma cópia de uma tupla, especialmente quando é importante trabalhar com uma versão separada dela sem alterar os dados originais. Aqui estão os principais métodos:

Atribuição direta

O jeito mais fácil de criar uma cópia de uma tupla é usar a atribuição direta. Isso vai criar um novo objeto tupla, mas como as tuplas são imutáveis, ambos os objetos vão referenciar os mesmos dados.


original_tuple = (1, 2, 3, 4, 5)
copied_tuple = original_tuple
print(copied_tuple)
        

Nesse caso, copied_tuple vai referenciar o mesmo objeto que original_tuple.

Usando a função tuple()

Outro jeito de criar uma cópia de uma tupla é usar a função embutida tuple(). Essa função cria uma nova tupla copiando os elementos da tupla original.


original_tuple = (1, 2, 3, 4, 5)
copied_tuple = tuple(original_tuple)
print(copied_tuple)

        

Esse método é especialmente útil quando você quer garantir que está criando um novo objeto, mesmo que o objeto original possa ser outro objeto iterável.

Conversão através de lista

Às vezes pode ser necessário criar uma cópia mutável de uma tupla na forma de uma lista para fazer modificações e depois convertê-la de volta para uma tupla.


original_tuple = (1, 2, 3, 4, 5)

temp_list = list(original_tuple)
temp_list.append(6)
copied_tuple = tuple(temp_list)
            
print(copied_tuple)

        

Neste exemplo, primeiro a gente transforma a tupla em uma lista, adiciona um novo elemento e então transforma a lista de volta em uma tupla.

15.2 Combinando tuplas

Ao contrário das listas, tuplas não podem ser alteradas depois de criadas, mas você pode criar novas tuplas combinando as existentes. Combinar tuplas é uma operação comum que pode ser útil em vários cenários de programação.

Métodos principais para combinar tuplas

Concatenação

O jeito mais simples de combinar duas ou mais tuplas é usar o operador +. Esse método cria uma nova tupla que é o resultado da concatenação das tuplas originais.


tuple1 = (1, 2, 3)
tuple2 = (4, 5, 6)
combined_tuple = tuple1 + tuple2
            
print(combined_tuple)
        

Neste exemplo, combined_tuple vai conter os elementos (1, 2, 3, 4, 5, 6).

Multiplicação por um número inteiro

Você também pode usar o operador * para multiplicar uma tupla por um número inteiro. Isso repete a tupla o número de vezes dado e cria uma nova tupla.


tuple1 = (1, 2, 3)
multiplied_tuple = tuple1 * 3
            
print(multiplied_tuple)
        

Aqui, multiplied_tuple vai conter os elementos (1, 2, 3, 1, 2, 3, 1, 2, 3).

Função itertools.chain

Para combinar um grande número de tuplas, você pode usar a função chain do módulo itertools. Isso é útil quando o número de tuplas para combinar não é conhecido de antemão.


from itertools import chain

tuple1 = (1, 2, 3)
tuple2 = (4, 5, 6)
tuple3 = (7, 8, 9)
            
combined_tuple = tuple(chain(tuple1, tuple2, tuple3))
print(combined_tuple)
        

O resultado será (1, 2, 3, 4, 5, 6, 7, 8, 9).

15.3 Tuplas aninhadas

Tuplas que contêm outras tuplas dentro delas são chamadas de tuplas aninhadas (nested tuples). As tuplas aninhadas oferecem uma maneira conveniente de organizar e estruturar dados, especialmente quando é necessário representar dados multidimensionais ou estruturas complexas.

Você pode combinar tuplas criando estruturas aninhadas. Isso é útil para organizar dados em estruturas multidimensionais. Criar uma tupla aninhada em Python é tão fácil quanto criar uma tupla normal. Você simplesmente inclui uma tupla dentro de outra.


nested_tuple = ((1, 2, 3), (4, 5, 6), (7, 8, 9))
        

Neste exemplo, nested_tuple contém três tuplas, cada uma composta por três elementos.

Exemplo de criação de uma tupla aninhada a partir de tuplas normais:

Neste exemplo, nested_tuple contém três tuplas, cada uma composta por três elementos.


tuple1 = (1, 2, 3)
tuple2 = (4, 5, 6)
nested_tuple = (tuple1, tuple2)
            
print(nested_tuple)
        

Aqui, nested_tuple vai conter ((1, 2, 3), (4, 5, 6)).

Acesso a elementos de uma tupla aninhada

O acesso a elementos de uma tupla aninhada é feito usando indexação múltipla. Primeiro você indica o índice da tupla externa e depois o da interna.


nested_tuple = ((1, 2, 3), (4, 5, 6), (7, 8, 9))

# Acessando o elemento 5 na segunda tupla aninhada
element = nested_tuple[1][1]
print(element)  # Saída: 5
        

Arrays multidimensionais

Tuplas aninhadas são frequentemente usadas para representar arrays bidimensionais ou multidimensionais. Por exemplo, uma tabela de dados pode ser representada como uma tupla de tuplas, onde cada linha da tabela é uma tupla separada.

Estruturação de dados

Tuplas aninhadas são convenientes para estruturar dados, como coordenadas geográficas (latitude e longitude) para vários locais:


locations = (("New York", (40.7128, -74.0060)), 
             ("Los Angeles", (34.0522, -118.2437)), 
             ("Chicago", (41.8781, -87.6298)))
        
1
Опрос
Tuplas no Python,  8 уровень,  6 лекция
недоступен
Tuplas no Python
Tuplas no Python
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION