Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Não entendi como o segundo exemplo está correto

Entendi que o uso do =+, quando usado para uma operação, pode substituir a necessidade de ter que digitar a variável novamente. Mas não entendi no caso desse segundo ter tido o mesmo resultado. Alguém poderia me explicar qual a lógica por trás desse comando, pois não estou usando o append e também me da a entender que a sintaxe seria na terceira linha *result_2 = lista + result_2 *

result_2 = []
for lista in dados:
    result_2 += lista
result_2
4 respostas

Olá André,

No python podemos unir 2 listas direto com uma soma: lista1 + lista2, é isso que o segundo código faz, soma cada lista presente em dados com a lista result_2, acumulando tudo em result_2

lista1 = [1, 2, 3]
lista2 = ['a', 'b', 'c']

print(lista1 + lista2)

# Resultado:
# [1, 2, 3, 'a', 'b', 'c']

Espero ter ajudado no entendimento, qualquer coisa é só falar!

solução!

Oi Lucas, obrigado pelo retorno!

Acho que ficou mais claro, embora eu ainda esteja confuso. Se eu tenho duas listas armazenadas dentro de outra listamaior, nesse caso na variável dados ,se eu criar uma nova lista como variável e escrever essa linha:

result_2 += lista

Ele somara os itens dentro da lista e os armazenará nessa minha nova variável, o result_2?

A variável dados (que é uma lista com outras listas dentro) não é somada diretamente, utilizamos o for para acessar cada lista interna de dados separadamente. E como você mencionou antes result_2 += lista é o mesmo que result_2 = result_2 + lista

Quebrando mais o código da atividade temos:

a = ['a', 'a']
b = ['b', 'b']
c = ['c', 'c']

acumulador = []

# acumulador += a
acumulador = acumulador + a
print(acumulador)

acumulador = acumulador + b
print(acumulador)

acumulador = acumulador + c
print(acumulador)

# Resultados:
# ['a', 'a']
# ['a', 'a', 'b', 'b']
# ['a', 'a', 'b', 'b', 'c', 'c']

Executa esse código acima que você vai ver passo a passo como utilizamos um acumulador para unir todas as listas em uma só, nesse exemplo acumulador faz a mesma função de result_2.

Perfeito Lucas, agora eu entendi bem, com esse exemplo ficou bem mais claro pra mim, valeu!