CodeGym /Cursos /Python SELF PT /“Mudança” de tupla

“Mudança” de tupla

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

13.1 Adicionando elementos

As tuplas são objetos imutáveis. Depois de criar uma tupla, é impossível alterá-la. Mas muitas vezes, mesmo que um objeto não possa ser alterado, pode ser necessário fazer uma cópia modificada dele.

É exatamente isso que acontece com a classe str — ela tem duas dezenas de métodos que não alteram o objeto original str, mas retornam uma nova string que corresponde ao método chamado.

Os desenvolvedores do Python poderiam ter adicionado à classe tuple métodos que retornariam um novo objeto ao tentar modificar a tupla. Mas eles não fizeram isso. Talvez para não nos confundir, ou por outro motivo.

Portanto, todas as alterações na tupla ocorrem da seguinte maneira:


                lista = list(tupla)
                modificamos lista aqui
                tupla2 = tuple(lista)
                        
Adicionando um novo elemento — método append():

Por exemplo, você quer adicionar um elemento à tupla, veja como isso pode parecer:


my_tuple = (1, 2, 3)
my_list = list(my_tuple)
my_list.append(4)  # adicionamos um elemento à lista 
my_new_tuple = tuple(my_list)

Adição de grupo de elementos — método extend():

O método extend() permite adicionar vários elementos à lista de uma vez. Como argumento, o método aceita um objeto iterável (por exemplo, outra lista, tupla, conjunto):


my_tuple = (1, 2, 3, 4)
my_list = list(my_tuple)
my_list.extend((5, 6))  # adicionamos elementos à lista
my_new_tuple = tuple(my_list)
        

Inserção no meio — método insert()

O método insert() adiciona um elemento na posição especificada na lista. Este método aceita dois argumentos: o índice onde o elemento deve ser colocado e o próprio elemento:


my_tuple = (1, 2, 3, 4)
my_list = list(my_tuple)
my_list.insert(0, 0)  # adicionamos 0 no começo da lista
my_new_tuple = tuple(my_list)
    

13.2 Alterando elementos

Se você precisa mudar algum elemento da tupla, continuamos a trabalhar assim:


lista = list(tupla)
# modificamos lista aqui
tupla2 = tuple(lista)

Vamos atribuir ao primeiro elemento da tupla o último valor, e ao último — o primeiro. Aqui está o código que precisamos para isso:


my_tuple = (1, 2, 3, 4)

my_list = list(my_tuple)
my_list[0], my_list[-1] = my_list[-1], my_list[0]  # trocamos os valores de lugar 
my_new_tuple = tuple(my_list)
print(my_new_tuple)  # (4, 2, 3, 1)
                

13.3 Removendo elementos

Removemos elementos da tupla da mesma maneira.

Vamos dar um exemplo, quando queremos remover um valor específico da tupla


 atuple = ("apple", "banana", "cherry")

alist = list(atuple)
alist.remove("apple")
atuple = tuple(alist)

print(atuple)  # ('banana', 'cherry') 
        

Observe que, no final, atribuímos o novo objeto tuple à variável que anteriormente armazenava a referência ao tuple original. Isso pode ser feito, mas o tuple original não será alterado. E se houver um link para ele em algum lugar acima do código, ele continuará apontando para o tuple original.

Vamos agora remover o último elemento da tupla.

Veja como será este código:


atuple = ("apple", "banana", "cherry")

alist = list(atuple)
alist.pop() # removemos o último elemento
atuple = tuple(alist)
            
print(atuple)  # ('apple', 'banana')

        

Acho que você entendeu a lógica. Não é permitido remover elementos de uma tupla, mas se você realmente quiser, é possível 😊

2
Tarefa
Python SELF PT, nível 8, lição 4
Bloqueado
Adição de elemento
Adição de elemento
2
Tarefa
Python SELF PT, nível 8, lição 4
Bloqueado
Agrupamento de tuples
Agrupamento de tuples
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION