Uma lista é uma estrutura de dados versátil e fundamental us...

Próximas questões
Com base no mesmo assunto
Q2383254 Programação
Uma lista é uma estrutura de dados versátil e fundamental usada para organizar e armazenar coleções de itens. As listas em Python oferecem uma maneira dinâmica e eficiente de lidar com sequências de itens. Por terem a capacidade de adicionar, remover e modificar elementos, essas listas desempenham um papel crucial em muitos programas em Python, tornando-se uma ferramenta essencial para tarefas que vão desde o armazenamento simples de dados até algoritmos mais complexos e manipulação de dados.
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?
Alternativas

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:

  1. L1.append(3): Isso adiciona o elemento 3 ao final da lista L1. Portanto, L1 se torna [1, 2, 3, 3].
  2. 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.
  3. 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].
  4. 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].
  5. 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