continuous learning company
Voltar para publicações
Ana Clara
ana clara castro Conheça o autor

append() × extend() no Python: entenda e teste na prática

Descubra quando adicionar uma lista inteira e quando acrescentar seus elementos separadamente. Veja o antes e o depois, experimente no laboratório e acompanhe exemplos comentados.

15/10/2026 Desenvolvimento
Comparação de append() e extend(): lista aninhada como um elemento ou novas frutas em posições separadas

Você já tem maçã e banana em uma lista e quer acrescentar laranja e uva. Deve usar append() ou extend()? Os dois métodos acrescentam conteúdo no final, mas organizam esse conteúdo de formas diferentes. A escolha depende do resultado que você quer.

Vamos seguir um caminho simples: entender a regra, acompanhar o mesmo exemplo com os dois métodos, experimentar no laboratório e comparar situações do dia a dia. Se listas ainda são novidade, comece pelo artigo de append() e depois volte para esta comparação.

1. A regra principal: um item ou vários elementos?

append() recebe um objeto e o coloca inteiro no final. Esse objeto pode ser um texto, um número ou até outra lista. Pense em guardar uma caixa fechada: ela entra como uma única unidade, mesmo contendo várias coisas.

extend() percorre um iterável e acrescenta seus elementos, um por um. Com uma lista de frutas, é como tirar as frutas da caixa e colocar cada uma na lista principal. Iterável é algo que pode ser percorrido, como uma lista, uma tupla ou um texto.

Importante: extend() também pode acrescentar zero ou um elemento. Não é a quantidade, sozinha, que define a escolha: é a diferença entre guardar o objeto inteiro e acrescentar os elementos dele.

2. append(): a lista inteira vira um único elemento

frutas = ["maçã", "banana"]
novas = ["laranja", "uva"]
frutas.append(novas)
print(frutas)
# ['maçã', 'banana', ['laranja', 'uva']]
print(len(frutas))
# 3

A lista principal tinha dois elementos. Depois da chamada, tem três: maçã, banana e uma lista com laranja e uva. A lista menor continua agrupada dentro da maior; chamamos isso de lista aninhada.

Observe os colchetes internos no resultado. Eles mostram que laranja e uva não viraram duas posições separadas na lista principal. O terceiro elemento, acessado por frutas[2], é a própria lista ["laranja", "uva"].

3. extend(): cada fruta ganha sua própria posição

# Começamos de novo para comparar a mesma situação.
frutas = ["maçã", "banana"]
novas = ["laranja", "uva"]
frutas.extend(novas)
print(frutas)
# ['maçã', 'banana', 'laranja', 'uva']
print(len(frutas))
# 4

Agora há quatro elementos na lista principal. Laranja e uva foram acrescentadas separadamente, depois da banana. A ordem dos elementos que já existiam e a ordem das novas frutas são preservadas.

Como escolher? Para juntar os nomes de duas turmas em uma lista de nomes, use extend(). Para guardar cada turma como um grupo separado dentro de uma lista de turmas, use append().

4. Laboratório: compare antes de decorar

Comece com o exemplo das frutas. Primeiro teste append(); depois teste extend() com os mesmos dados. Observe os colchetes e conte apenas as posições da lista principal. Em seguida, troque os textos por nomes ou tarefas.

Experimente append() e extend()

Separe os itens das listas por vírgulas, sem digitar aspas. Espaços nas pontas são removidos; não deixe itens vazios entre vírgulas. Campo vazio representa []. Cada campo de lista aceita até 30 itens, com 80 caracteres por item. O argumento de texto aceita até 120 caracteres Unicode. Cada operação recomeça com os dados dos campos.

Antes

Resultado


Retorno do método: —

Este laboratório é uma simulação didática local em JavaScript: não executa Python nem envia os valores digitados ao servidor. Cada clique parte da mesma entrada inicial para que a comparação seja justa. Para representar listas aninhadas mais complexas, acompanhe os exemplos explicados neste artigo.

5. Três cuidados que evitam confusão

Um texto inteiro ou suas letras? Texto também é iterável. Com append("uva"), o texto inteiro entra como um elemento. Com extend("uva"), entram os caracteres "u", "v" e "a". Para acrescentar uma fruta inteira usando extend, passe uma lista contendo o texto: extend(["uva"]).

a = []
a.append("uva")
print(a)
# ['uva']
b = []
b.extend("uva")
print(b)
# ['u', 'v', 'a']

Os dois modificam a lista e retornam None. Faça a chamada e depois consulte a lista. Se escrever frutas = frutas.extend(novas) ou atribuir o retorno de append à mesma variável, ela passará a guardar None, não a lista atualizada.

extend() não desmonta todos os níveis. Se um dos elementos recebidos já for uma lista, ele continua sendo uma lista. O método percorre somente o iterável que recebeu; não achata recursivamente tudo o que estiver dentro.

grupos = []
grupos.extend([["Ana", "João"], ["Maria"]])
print(grupos)
# [['Ana', 'João'], ['Maria']]

6. Como escolher na prática?

Use append() quando o novo conteúdo precisa continuar agrupado. Por exemplo, ao organizar listas de compras por pessoa, você pode guardar a lista de Ana inteira como um elemento de uma lista da família. Assim, cada pessoa mantém seu próprio grupo.

Use extend() quando quiser uma única sequência de elementos. Se a ideia é juntar as frutas que você já tinha com as frutas de outra lista, cada fruta deve ganhar sua própria posição na lista principal, sem criar um novo grupo para essa segunda lista.

Como conferir a escolha? Olhe os colchetes: uma lista dentro da outra mantém um grupo; os elementos diretamente na lista principal estão separados. Conte apenas as posições da lista principal e lembre que os dois métodos alteram a lista existente, sem devolver outra lista.

7. Resumo e próximo passo

  • Quer acrescentar o objeto inteiro como um elemento? Pense em append().
  • Quer acrescentar os elementos de um iterável? Pense em extend().
  • Uma lista dentro de outra ocupa uma posição na lista principal.
  • Ambos alteram a lista existente e retornam None.
  • Com texto, extend percorre os caracteres; com listas aninhadas, não achata todos os níveis.

Para praticar fora da página, crie uma lista com duas tarefas e outra com duas tarefas novas. Execute cada método em uma lista inicial separada e compare as saídas com print. Depois explique, com suas palavras, por que uma versão tem uma lista dentro da outra.

Teste seu conhecimento

Responda às cinco perguntas. Depois confira o gabarito e a explicação de cada resposta.

1. O que frutas.append(["laranja", "uva"]) acrescenta?

2. Qual é o resultado de frutas = ["maçã", "banana"] seguido de frutas.extend(["laranja", "uva"])?

3. Uma lista tem dois elementos. Depois de append(["laranja", "uva"]), quantos elementos há na lista principal?

4. O que append() e extend() retornam?

5. O que lista = []; lista.extend("uva") produz na variável lista?

Fontes e conferência

O conteúdo parte da imagem enviada e foi conferido na documentação oficial do Python em 15/10/2026. O laboratório reproduz somente os casos descritos; não é um interpretador Python.

Continue sua trilha

Trilha de Python · 0% concluído · 0 de 15 conteúdos concluídos