Anexar a um tupla em Python

Rayven Esplanada 30 janeiro 2023
  1. Inicializar um tupla em Python
  2. Utilize Concatenação + para anexar a uma tupla em Python
  3. Realização da conversão de Tupla em Lista para Anexar a um Tupla em Python
Anexar a um tupla em Python

Este tutorial irá demonstrar como anexar a uma tupla em Python.

Em Python, uma tupla é um tipo de dados não ordenado e imutável que é usado para armazenar colecções. Os tuplos são muito semelhantes a listas, mas a diferença é que uma tupla tem um comprimento fixo e é imutável, ao contrário de uma lista que é variável em comprimento e mutável na natureza.

Inicializar um tupla em Python

Os tipos de dados de tupla são inicializados encapsulando valores utilizando parênteses (). Os valores na tupla não têm de ser do mesmo tipo.

my_tuple = ("Jane Doe", 40, 0.05, "a", [1, 2, 3])

Aqui está um exemplo de inicialização de uma tupla contendo quatro valores de diferentes tipos de dados. Os tupla aninhados também são suportados.

Uma lista também pode ser convertida numa tupla utilizando a função embutida tuple(), que converte qualquer lista numa tupla.

my_list = [1, 2, 3, 4, 5]

print(tuple(my_list))

Resultado:

(1, 2, 3, 4, 5)

Agora que a inicialização de uma tupla é discutida, podemos passar à forma de anexar a uma tupla imutável.

Utilize Concatenação + para anexar a uma tupla em Python

Para reiterar, os tipos de dados de tupla são imutáveis, o que significa que qualquer valor que tenha sido inicializado nunca poderá ser alterado. Outro exemplo de um tipo de dados imutáveis é uma string.

Tal como as strings, os valores da tupla podem ser alterados ou anexados através da simples concatenação de um novo valor ao existente. Combina dois conjuntos diferentes da tupla em um e não altera os valores existentes, mantendo a imutabilidade do tipo de dados.

Por exemplo, aqui estão dois tufos separados. Uma terceira variável é inicializada através da concatenação destes dois tufos.

tuple_a = ("a", "b", "c")
tuple_b = ("d", "e", "f")
tuple_c = tuple_a + tuple_b

print(tuple_c)

Resultado:

('a', 'b', 'c', 'd', 'e', 'f')

Agora a variável tuple_c é inicializada pelos valores concatenados dos dois tupples.

Aqui está outra abordagem à concatenação de tufos:

tuple_a = ("c", "d", "f")
tuple_b = ("a", "b") + tuple_a + ("g", "h")

print(tuple_b)

Resultado:

('a', 'b', 'c', 'd', 'f', 'g', 'h')

Alfabeticamente, o caractere e falta na saída acima, e não há nenhum método para inserir um valor no meio de uma tupla utilizando a concatenação.

O único contratempo com esta abordagem é que a inserção de um valor no meio de uma tupla não seria possível, uma vez que só se pode concatenar no início ou no fim de uma tupla existente.

Realização da conversão de Tupla em Lista para Anexar a um Tupla em Python

Uma abordagem mais flexível e conveniente para anexar a uma tupla em Python é a conversão de uma tupla numa lista.

Desta forma, as funções de lista incorporadas podem ser executadas nos valores para efectuar uma inserção e remoção conveniente em qualquer lugar dentro da lista. Depois de toda a manipulação, a lista pode então ser convertida de novo numa tupla imutável.

Aqui está um exemplo de conversão de tupla em lista para inserir novos elementos.

tuple_val = (11, 52, 67, 142)
list_val = list(tuple_val)

l.insert(1, 20)
print(l)

tuple_val = tuple(list_val)
print(tuple_val)

A tupla é primeiro convertido numa lista, e a função integrada insert() é utilizada para inserir um valor entre os valores existentes. Posteriormente, a lista é convertida de volta para uma tupla.

Resultado:

[11, 20, 52, 67, 142]
(11, 20, 52, 67, 142)

A conversão a tupla em lista abre outras possibilidades utilizando funções incorporadas como sort(), remove(), e outras possíveis manipulações de lista.

Em resumo, os tuplos não podem ser simplesmente modificados como listas devido à sua natureza imutável. A forma mais extensa de anexar a uma tupla é converter da tupla numa lista. Se a única adição necessária estiver no início ou no fim da tupla, então pode ser utilizada a simples concatenação +.

Rayven Esplanada avatar Rayven Esplanada avatar

Skilled in Python, Java, Spring Boot, AngularJS, and Agile Methodologies. Strong engineering professional with a passion for development and always seeking opportunities for personal and career growth. A Technical Writer writing about comprehensive how-to articles, environment set-ups, and technical walkthroughs. Specializes in writing Python, Java, Spring, and SQL articles.

LinkedIn

Artigo relacionado - Python Tuple