Artigo original: Python List Append – How to Add an Element to an Array, Explained with Examples

Bem-vindos

Se você quer aprender a usar o método append(), você está no lugar certo. Este é um método muito poderoso para listas que, com certeza, você usará em algum de seus projetos em Python.

Neste artigo, você aprenderá:

  • Por que e quando você deve usar o append().
  • Como fazer a chamada do método.
  • Como funciona e qual valor ele retorna.
  • Como ele se compara ao método insert() e ao fatiamento (slicing) de string.

Você encontrará exemplos de uso do append() com strings, números inteiros, floats, booleanos, listas, tuplas e dicionários.

Vamos ao trabalho! ✨

🔹 Propósito

Usando esse método é possível adicionar um único elemento ao final de uma lista.

Confira na imagem o efeito produzido pelo append():

image-59

💡 Dica: para adicionar uma sequência de elementos individualmente, você deve usar o método extend().

🔸 Sintaxe e parâmetros

Esta é a sintaxe básica usada para chamar o método:

image-60
A lista que você quer modificar (laranja) e o elemento que você quer inserir (verde)

💡 Dica: por se tratar de um método, não se deve esquecer o uso do ponto. Ao chamar um método, devemos usar o ponto após a lista para indicar que pretendemos "modificar" essa lista específica.

Como você pode perceber, o método append() aceita apenas um argumento: o elemento que você deseja adicionar. Este elemento pode ser qualquer tipo de dado:

  • Número inteiro
  • String
  • Float
  • Booleano
  • Outra lista
  • Tupla
  • Dicionário
  • Uma instância de uma classe personalizada

Basicamente, qualquer valor que você possa criar em Python pode ser adicionado a uma lista.

💡 Dica: o primeiro elemento da sintaxe (a lista) geralmente é uma variável que faz referência a uma lista.

Exemplo

A seguir, temos um exemplo de uma chamada usando o append():

>>> musical_notes = ["C", "D", "E", "F", "G", "A"]
>>> musical_notes.append("B")
  • Primeiramente, a lista é definida e atribuída a uma variável.
  • Então, usando esta variável chamamos o método append() e passamos o elemento a ser adicionado (a string "B") como argumento.

🔹 Resultado produzido e o valor de retorno

Este método altera a lista original na memória. Isso significa que ele não retorna uma nova cópia da lista, mas sim o valor None. Ao chamar este método, você estará modificando a lista original.

Utilizando nosso exemplo anterior:

>>> musical_notes = ["C", "D", "E", "F", "G", "A"]
>>> musical_notes.append("B")

Abaixo, é possível ver que a lista original foi modificada após a adição do elemento. O último elemento agora é "B" e a lista original agora é a versão modificada.

>>> musical_notes
['C', 'D', 'E', 'F', 'G', 'A', 'B']

Você pode confirmar que o valor de retorno de append() é igual a None atribuindo este valor a uma variável e a imprimindo:

>>> musical_notes = ["C", "D", "E", "F", "G", "A"]
>>> a = musical_notes.append("B")
>>> print(a)
None

🔸 Exemplos

Agora que você já sabe qual é a utilidade do método append(), conhece a sua sintaxe e o que ele produz, vamos conferir alguns exemplos de uso com diferentes tipos de dados.

Adicionar uma string

>>> top_players = ["gino234", "nor233", "lal453"]
>>> top_players.append("auop342")

# A string foi inserida
>>> top_players
['gino234', 'nor233', 'lal453', 'auop342']

Adicionar um número inteiro

>>> data = [435, 324, 275, 567, 123]
>>> data.append(456)

>>> data
[435, 324, 275, 567, 123, 456]

Adicionar um float

>>> data = [435.34, 324.35, 275.45, 567.34, 123.23]
>>> data.append(456.23)

>>> data
[435.34, 324.35, 275.45, 567.34, 123.23, 456.23]

Adicionar um valor booleano

>>> values = [True, True, False, True]
>>> values.append(False)

>>> values
[True, True, False, True, False]

Adicionar uma lista

Este método só pode adicionar um único elemento ao final de uma lista, portanto, se você passar uma lista como argumento, a lista inteira será anexada na forma de um único elemento (será uma lista aninhada dentro da lista original).

>>> data = [[4.5, 4.8, 5.7], [2.5, 2.6, 2.7]]
>>> data.append([6.7, 2.3])

>>> data
[[4.5, 4.8, 5.7], [2.5, 2.6, 2.7], [6.7, 2.3]]

Adicionar uma tupla

Funciona exatamente da mesma maneira como a adição de uma lista. A tupla inteira será adicionada em forma de um único elemento.

>>> data = [[4.5, 4.8, 5.7], [2.5, 2.6, 2.7]]
>>> data.append((6.7, 2.3))

>>> data
[[4.5, 4.8, 5.7], [2.5, 2.6, 2.7], (6.7, 2.3)] 

💡 Dica: se você quiser adicionar os elementos de uma lista ou tupla individualmente na lista original, precisará usar o método extend() ao invés do append(). Para entender a diferença entre os métodos, confira o outro artigo (em inglês) da autora: Python List Append VS Python List Extend – The Difference Explained with Array Method Examples

Adicionar um dicionário

Ao adicionar um dicionário, ele será adicionado como um único elemento da lista - da mesma maneira que acontece com listas e tuplas.

>>> data = [{"a": 1, "b": 2}]
>>> data.append({"c": 3, "d": 4})
>>> data
[{'a': 1, 'b': 2}, {'c': 3, 'd': 4}]

🔹 Equivalência entre append e insert

É interessante notarmos que o método insert() pode ser equivalente ao append() caso sejam passados os argumentos apropriados.

O método insert() é usado para inserir um elemento em um determinado índice (posição) da lista.

Esta é a sintaxe usada para chamar o método insert():

image-61
A lista que você quer modificar (laranja), o índice onde você quer inserir o elemento (amarelo) e o elemento que você quer inserir (verde)

Como o tornamos equivalente ao append()?

  • Para que ambos os métodos funcionem da mesma maneira, o valor de index (índice) precisará ser igual ao comprimento da lista (len(<list>)). Assim, o elemento desejado será adicionado sempre no final da lista.

Confira um exemplo que comprova que o resultado do uso do insert() com os argumentos apresentados equivale ao resultado do append():

>>> musical_notes = ["C", "D", "E", "F", "G", "A"]
>>> musical_notes.insert(len(musical_notes), "B")
>>> musical_notes
['C', 'D', 'E', 'F', 'G', 'A', 'B']

Contudo, usar o append() é muito mais conciso e prático. Portanto, neste caso, o recomendado é optar pelo append().

🔸 Equivalência entre append e o fatiamento de listas (slicing)

Há também uma equivalência interessante entre o método append() e o fatiamento de listas.

image-62
A lista que você quer modificar (laranja) e o elemento que você quer inserir (verde)

Essa sintaxe basicamente adiciona ao final da lista o elemento [<elem>] desejado. Confira como o resultado é o mesmo:

>>> musical_notes = ["C", "D", "E", "F", "G", "A"]
>>> musical_notes[len(musical_notes):] = ["B"]
>>> musical_notes
['C', 'D', 'E', 'F', 'G', 'A', 'B']

Para fins teóricos, essas alternativas são interessantes, mas, na prática, normalmente usamos o método append(), pois é um método preciso, conciso e fácil de usar, o que faz dele um recurso valioso do Python.

Eu espero que você goste deste artigo e faça bom proveito dele. Agora você já sabe como trabalhar com o append() em seus projetos de Python. Conheça os cursos on-line da autora e siga-a no Twitter. ⭐️