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()
:
💡 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:
💡 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()
:
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.
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. ⭐️