Append e Extend em Python – Como Adicionar Itens em uma Lista
Quando usar o Append e Extend em Python? Aprenda como e quando usar cada um deles nesta aula de Python direto ao ponto!
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!
O que você aprende neste vídeo
Resposta rápida: A aula compara append() e extend() para adicionar itens a uma lista em Python. O append() adiciona um único elemento, e uma lista passada a ele entra inteira como um item aninhado. O extend() percorre a lista recebida e soma cada item separado, sempre editando a lista original. Já o operador + soma duas listas sem alterar as originais.
Neste vídeo (7 min):
- 1:00 - Exemplo usado: uma lista de vendedores da empresa que precisa incorporar duas novas contratações numa lista só
- 2:00 - O
append()de um único nome funciona: adiciona o item ao final da lista de vendedores - 2:10 - O
append()de uma lista inteira de novas contratações adiciona essa lista como um elemento aninhado, não os nomes separados - 3:00 - O
extend()percorre a segunda lista e soma cada item individualmente à lista original de vendedores - 4:00 - Passar um único valor ao
extend()adiciona as letras do texto separadamente, por isso ele não serve para um item só - 4:30 - O operador
+soma duas listas e devolve uma nova lista, sem alterar nenhuma das originais, a menos que o resultado seja atribuído de volta a uma delas - 5:30 - O
extend()sempre edita a lista original, diferente do+, que pode manter as duas listas de origem intactas
Trechos do vídeo:
- O
append()adiciona um único elemento à lista: se você passar outra lista para ele, ela entra inteira como um item aninhado, uma lista dentro da lista - O
extend()percorre o objeto recebido e adiciona cada item separadamente à lista original, sempre editando essa lista - Somar duas listas com o operador
+devolve uma nova lista sem alterar nenhuma das originais, a não ser que o resultado seja atribuído de volta a uma delas
Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:
Fala Impressionadores! Na aula de hoje eu quero falar sobre o append e extend em Python, esses termos podem gerar algumas dúvidas.
Algumas pessoas ficam na dúvida quando usar um ou outro para adicionar itens em listas no Python, vamos ver agora como quando e porque usar cada um deles. Já adianto que saber usar os dois é necessário.
O append() adiciona um único item ao final da lista: se você passar outra lista, ela entra como um elemento aninhado, uma lista dentro da lista. Já o extend() percorre o objeto recebido e acrescenta cada item separadamente. Use append para um valor e extend para vários de uma vez.
Como usar o append?
O append é para quando você quer adicionar um único item em uma lista.
E como usar o extend?
Nesse caso ele vai inserir mais de um item em uma lista, ou seja, você vai poder pegar diversos itens de uma lista_A e acrescentar de uma vez na lista_B.
Em resumo, um deles vai adicionar um único item, enquanto o outro vai adicionar uma lista de itens!
E aí, quer aprender na prática como funciona o append e o extend no Python?
Exemplos práticos:

Neste exemplo temos uma lista de vendedores e precisamos acrescer a esta lista as novas contratações.
Vamos fazer isso usando o append e o extend:
Append
Vamos colocar dentro do append apenas um dos nomes da lista de novas contratações:

Observe que adicionando dentro dos parênteses apenas um nome e rodando o código ele é acrescentado a lista corretamente, mas queremos adicionar todas as novas contratações não apenas um dos nomes…
E se dentro dos parênteses informássemos o nome da variável -> novas_contratações:
Observe:

Colocando a variável dentro dos parênteses e fazendo o append note que como último argumento da lista ele acrescenta outra lista contendo os dois novos nomes.
Não é o que queremos, queremos que os dois nomes sejam acrescentados como itens da lista de vendedores. Para isso devemos usar o extend:
Extend

O extend vai estender a lista, acrescentando a lista de vendedores os valores das novas contratações como itens da lista separados por vírgula, sem colocar uma lista dentro de outra.
Podemos usar o Extend para tudo? Incluindo colocar apenas 1 nome como o append faz?
Não, o resultado não será o mesmo, para adicionar apenas 1 nome devemos usar o append, se usarmos o extend ele vai destrinchar letra por letra do nome separando-as com vírgula:

Portando precisamos dos dois, o append para um único valor e o extend para adicionar vários valores.
+?
E se usarmos o sinal de mais (+)? O que acontece se somarmos as duas listas?

Observe que esta opção nos dá um resultado muito parecido com o que obtivemos usando o extend!
É parecido apenas, porque o extend além de estender a lista com os novos itens faz também a edição da lista original.
Quando fazemos a soma não estamos editando a lista vendedores, então ela irá permanecer inalterada recebendo os nomes novos apenas neste bloco onde está sendo feita a soma.
Perguntas frequentes
1. Qual a diferença entre append e extend em Python?
O append recebe um objeto e o coloca inteiro como último item da lista, mesmo que esse objeto seja outra lista. O extend percorre o que recebeu e adiciona os elementos um a um, no mesmo nível dos itens que já existiam. O resultado do extend é uma lista plana, sem aninhamento.
2. O que acontece ao usar extend com um único nome?
Como o extend percorre o objeto recebido, uma string é tratada como uma sequência de caracteres e cada letra vira um item separado da lista. Para acrescentar um nome inteiro, use append. O extend é indicado quando o que você quer somar já é uma lista, tupla ou outro conjunto de itens.
3. Qual a diferença entre extend e o operador + em listas?
O extend altera a lista original, incorporando os novos itens em definitivo. O operador + apenas gera uma nova lista com a soma das duas, sem modificar as originais: se você não guardar esse resultado em uma variável, ele existe só naquele trecho do código.
4. Como adicionar um item em uma posição específica da lista?
Use o método insert, que recebe a posição e o valor, como em lista.insert(0, “Ana”) para colocar o nome no início. O append sempre adiciona no fim e o extend acrescenta vários itens no fim, então o insert é a escolha quando a ordem dentro da lista importa.
Conclusão – Append e Extend em Python
Existem comandos em Python com funções parecidas, o append e extend são exemplos disso.
É uma dúvida comum de quando usar cada um ou se podemos adotar o uso de apenas um deles e esquecer o outro.
Fizemos esta aula para deixar clara a diferença e importância de saber como e onde usar o append e o extend.
Agora você sabe que ambos são importantes dependendo da quantidade de itens que queremos adicionar a lista!
Espero que tenham gostado da aula mais direto ao ponto!
Eu fico por aqui! Um grande abraço, até mais!
Hashtag Treinamentos
Para acessar outras publicações de Python, clique aqui!


