Uma lista é uma estrutura de dados versátil e fundamental us...
Nesse contexto, considere duas listas, L1 e L2, que foram implementadas em Python. As configurações iniciais dessas listas são as seguintes:
L1 = [1, 2, 3]
L2 = [3, 4, 5]
Em seguida, foram feitas as seguintes operações:
L1.append(3)
L3 = L1
L3.append(7)
L1.append(8)
L4 = L1 + L2
Qual é o valor de L4?
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: E
Vamos explorar a questão mais a fundo para entender como chegamos a essa resposta.
Inicialmente, temos as seguintes listas:
- L1 = [1, 2, 3]
- L2 = [3, 4, 5]
As operações realizadas são:
- L1.append(3): Isso adiciona o elemento 3 ao final da lista L1. Portanto, L1 se torna [1, 2, 3, 3].
- L3 = L1: Aqui, L3 é uma referência à mesma lista que L1. Portanto, L3 também se torna [1, 2, 3, 3]. É importante notar que essa operação não cria uma nova lista, mas faz com que L3 e L1 apontem para a mesma lista na memória.
- L3.append(7): Como L3 e L1 são a mesma lista, adicionar 7 à L3 também afeta L1. Portanto, ambas as listas agora são [1, 2, 3, 3, 7].
- L1.append(8): Isso adiciona 8 ao final da lista L1 (e, consequentemente, de L3, já que são a mesma lista). Agora, L1 e L3 são [1, 2, 3, 3, 7, 8].
- L4 = L1 + L2: Esta operação concatena L1 e L2. Portanto, L4 se torna [1, 2, 3, 3, 7, 8, 3, 4, 5].
Justificativa para a alternativa correta (E):
A alternativa E é a única que reflete a concatenação correta de L1 e L2 após todas as operações descritas, resultando em [1, 2, 3, 3, 7, 8, 3, 4, 5].
Análise das alternativas incorretas:
- A - [1, 2, 3, 4, 5]: Esta alternativa ignora todas as operações de append realizadas em L1.
- B - [1, 2, 3, 3, 4, 5]: Esta alternativa ignora os elementos 7 e 8, que foram adicionados a L1.
- C - [1, 2, 3, 3, 8, 3, 4, 5]: Esta alternativa coloca o elemento 8 na posição errada e ignora o 7.
- D - [1, 2, 3, 3, 3, 4, 5, 7, 8]: Esta alternativa adiciona um 3 extra e não segue a ordem correta da concatenação.
Para resolver esta questão, é fundamental entender como listas e referências funcionam em Python. Além disso, é necessário compreender as operações de concatenação e modificação de listas, conceitos que são essenciais para muitos algoritmos e manipulações de dados em Python.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Marquei letra C, mas rodei o código e realmente o resultado bate com a letra E. Não entendi, quem puder, dar essa força pra gente explicando esse resultado.
Para quem não entendeu:
L1 = [1,2,3]
L2 = [3,4,5]
L1.append(3)
Aqui ele adicionou o valor 3 ao L1
L1 = [1,2,3,3]
L3 = L1
Nesse momento, ele pegou o L1 e colocou dentro do L3
L3 = L1 = [1,2,3,3]
L3.append(7)
Adicionou o valor 7 dentro do L3??? Errado!!!
Foi adicionado o valor '7', dentro do L1.
L3 é somente uma caixa, onde está armazenado um lista chamada L1.
Quando usado o append, ele armaze o item dentro da lista, e não dentro da variável (L3).
L3 = L1 = [1,2,3,3,7]
L1.append(8)
Adicionou mais um int, dentro da lista. Onde se encontra lista???
Dentro da variável L3
L3 = L1 = [1,2,3,3,7,8]
L4 = L1 + L2
L4 está recebendo o valor da lista L1 (armazenada dentro do L3) + lista L2
L4 = [1,2,3,3,7,8,3,4,5]
Estou sentindo falta de comentários dos professores de TI!
Atenção qconcursos !!!! Precisamos de comentários dos professores para TI!
# Definindo as listas L1 e L2 conforme as operações descritas
L1 = [1, 2, 3]
L2 = [3, 4, 5]
# Realizando as operações mencionadas
L1.append(3) # Adiciona 3 ao final de L1
L3 = L1 # L3 agora é uma referência a L1
L3.append(7) # Adiciona 7 ao final de L1 através de L3
L1.append(8) # Adiciona 8 ao final de L1
L4 = L1 + L2 # Concatena L1 e L2 para formar L4
Ao fazer L3 = L1, você está fazendo uma atribuição por referência, não uma cópia dos valores.
Portanto, qualquer alteração feita em L3 também será refletida em L1 e vice-versa.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo