Informática, perguntado por FShinoda, 1 ano atrás

Linguagem Python - Alguém pode me ajudar a entender um código simples?

Queria saber por que o output da lista3 não é
['carro', 'metrô', 'carro', 'metrô', 'carro', 'metrô']
mas sim
['carro', 'barco', 'carro', 'barco', 'carro', 'barco'],
não consigo entender o porque...

Segue o código:
----------------------------------------------------------------------
lista1 = ["carro", "barco"]
lista2 = [lista1] * 3
lista3 = lista1 * 3
lista1[1] = "metrô"
-----------------------------------------------------------------------
Segue o output dado pelo IDLE:
>>>lista1
['carro', 'metrô']
>>> lista2
[['carro', 'metrô'], ['carro', 'metrô'], ['carro', 'metrô']]
>>> lista3
['carro', 'barco', 'carro', 'barco', 'carro', 'barco']
-----------------------------------------------------------------------

Soluções para a tarefa

Respondido por edaframp7vdlr
2
é pq vc mudou a lista1 depois de já ter definido a lista3, experimente assim: 

lista1 = ["carro", "barco"]
lista2 = [lista1] * 3
lista1[1] = "metrô"
lista3 = lista1 * 3
Perguntas interessantes