Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Sugestão] append e extend

Só queria deixar uma explciação bem simples sobre o append e extend da forma que eu entendi.

extend: Adicionamos os elementos e os integra a lista:

lista = ['Fabricio Daniel', 9.5, 9.0, 10, True]
lista.extend([9.5, 9.0, 10])
print(lista)

['Fabricio Daniel', 9.5, 9.0, 10, True, 9.5, 9.0, 10]

append: Criamos uma lista dentro da lista:

lista = ['Fabricio Daniel', 9.5, 9.0, 10, True]
lista.append([9.5, 9.0, 10])
print(lista)

['Fabricio Daniel', 9.5, 9.0, 10, True, [9.5, 9.0, 10]]

Eu acho que usar o append tem suas funcionalidades, mas pode dar alguns problemas de interpretação de código no programa.

1 resposta
solução!

Fala Matheus, tudo bem ?

Cara eu acho que a diferença é que o extend funciona sobre obejtos iteráveis, já o append é sobre o qualquer objeto.

No seu primeiro exemplo, o extend percorre cada item (numero) do seu objeto iteravel (lista de numero) e adiciona um a um na sua lista. Já no segundo exemplo, o append adiciona o objeto (lista) inteiro dentro da sua lista, ele não itera sobre os elementos dele.

Acho que um jeito bom de ver a diferença é tentando adicionar uma string usando cada um dos métodos :

#exemplo 1

lista = ['Fabricio Daniel', 9.5, 9.0, 10, True]

lista.extend('teste')

print(lista)

['Fabricio Daniel', 9.5, 9.0, 10, True, 't', 'e', 's', 't', 'e']

#exemplo 2

lista = ['Fabricio Daniel', 9.5, 9.0, 10, True]

lista.append('teste')

print(lista)

['Fabricio Daniel', 9.5, 9.0, 10, True, 'teste']

no primeiro ele inclui cada letra da string, ou seja ele percorre a string e vai inserindo elemento a elemento. Já no segundo insere a string inteira.

Acho que cada um tem um uso.... eu nunca usei o extend sendo sincero kkk no geral uso só append mesmo. Mas acho que ele pode ser útil justamente quando vc quer iterar pq pode te poupar de ter que escrever um 'for', por exemplo.