6 métodos para trabalhar com listas em Python

Alex Barros
5 min readAug 1, 2021

--

append, extend, insert, remove, pop e clear

Listas

Sabemos que no Python podemos utilizar diversos tipos de dados para agrupar valores, um dos mais versáteis é o tipo list . As listas são escritas com itens separados por vírgulas e delimitados entre colchetes [ ] . Os itens podem ser de tipos de dados diferentes, apesar de na maioria das vezes utilizarmos somente um tipo. Afinal, se estamos criando uma lista de itens de compra, um elemento somente numérico não faria muito sentido no meio de strings, não é mesmo?

Vejamos alguns exemplos de listas:

#lista numérica
primos = [2, 3, 5, 7, 11]
#lista de strings
frutas = ['maçã', 'uva', 'laranja', 'mamão']
#lista de bools
resultados = [True, False, False, False, True]

Assim como outros tipos de dados sequenciais, listas utilizam índices para acessar elementos específicos e podem ser subdivididas (fatiadas) utilizando dois pontos (:) e o intervalo dos índices.

# o índice é utiliza para retornar os elementos
primos[0]
>>> 2
# o índice negativo retorna o elementos do fim da lista
primos[-1]
>>> 11
# o processo de slicing retorna uma nova lista
frutas
[-3:]
>>> ['uva', 'laranja', 'mamão']
frutas[1:3]
>>> ['uva', 'laranja']

Todas as operações chamadas de "slice" retornam novas listas com os elementos que possuem os índices requisitados. Isso significa que ocorre uma shallow copy, veja:

frutas[1:3]
>>> ['uva', 'laranja']

Listas também podem ser concatenadas de modo direto com o operador + , não vá se confundir achando que isso realizará a soma numérica dos inteiros:

squares = [1, 4, 9, 16, 25]
squares + [36, 49, 64, 81, 100]
>>> [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

Ao contrário de strings, as listas são mutáveis, isto é, podemos modificar o conteúdo de seus elementos:

cubos = [1, 8, 27, 65, 125]  
# O cubo de 4 é 64 e não 65, vamos corrigir
cubos[3] = 64 # substitui o valor incorreto
>>> cubos
[1, 8, 27, 64, 125]

Agora que já sabemos como criar listas e até a modificar os valores, vamos aprender os métodos principais para manipular listas:

Principais métodos para manipular listas

1. list.append(x)

O método append adiciona um item ao final da lista. É o equivalente a a[len(a):] = [x]. Esse método só adiciona um elemento por vez, para adicionar mais de um elemento precisamos utilizar um loop.

cubos.append(216)  # adiciona o cubo de 6 
cubos.append(7 ** 3) # adiciona o cubo de 7
>>> cubos
[1, 8, 27, 64, 125, 216, 343]
# lista de animais
animais = ['gato', 'cão', 'cavalo']

# porco é adicionao ao final da lista
animais.append('porco')

# lista atualizada
print('Lista atualizada: ', animais)
>>> ['gato', 'cão', 'cavalo', 'porco']

Também é possível adicionar uma lista a outra lista,

# Lista de animais
animais = ['gato', 'cão', 'cavalos']

# Lista de animais selvagens
selvagens = ['tigre', 'raposa']

# adicionando a lista de animais selvagens na lista padrão.
animals.append(selvagens)

print('Lista atualizadas: ', animais)
>>>['gato', 'cão', 'cavalos',['tigre', 'raposa']]

2. list.extend(iterable)

O método extend também serve para adicionar mais elementos a uma lista. Seria o equivalente a a[len(a):] = iterable . Vejam o exemplo anterior se tivéssemos utilizado o método extend:

# Lista de animais
animais = ['gato', 'cão', 'cavalos']

# Lista de animais selvagens
selvagens = ['tigre', 'raposa']

# adicionando a lista de animais selvagens na lista padrão.
animais.extend(selvagens)

print(animais)
>>>['gato', 'cão', 'cavalos', 'tigre', 'raposa']

Aqui há um detalhe. Caso você adicione uma string "solta", o método irá trabalhar como se a string fosse uma lista de caracteres. Vejam:

# variável texto com o animail macaco armazenado
texto = 'macaco'
# Lista de animais
animais = ['gato', 'cão', 'cavalos']

# adicionando a palavra macaco a lista animais
animais.extend(texto)

print(animais)
>>>['gato', 'cão', 'cavalos', 'm', 'a', 'c', 'a', 'c', 'o']

3. list.insert(i,x)

O método insert insere um item em uma determinada posição da lista. O primeiro argumento é o índice do elemento anterior a inserção, o segundo é o elemento propriamente dito. Portanto, a.insert(0, x)irá inserir o elemento x no início da lista. Já o a.insert(len(a), x) funcionaria como um a.append(x)inserindo o elemento x ao final da lista. Exemplos novamente com a lista de animais:

# Lista de animais
animais = ['gato', 'cão', 'cavalos']

# Lista de animais selvagens
selvagens = ['tigre', 'raposa']

# adicionando a lista de animais selvagens na posição 1
animais.insert(1,selvagens)

print(animais)
>>>['gato', ['tigre', 'raposa'], 'cão', 'cavalos']

O método insert aceita string literais como parâmetro, adicionando o elemento diretamente na lista. Observe a diferença do que ocorre ao adicionar uma lista com somente um elemento utilizando o insert.

# Lista de animais
animais = ['gato', 'cão', 'cavalos', 'gato', 'tigre']
# removendo o primeiro gato
animais.remove('gato')
# Lista com somente um elemento
selvagens_2 = ['tubarão']
animais.insert(3,selvagens_2)
print(animais)
>>> ['gato', ['tigre', 'raposa'], 'macaco', ['tubarão'], 'cão', 'cavalos']

4. list.remove(x)

O método remove retira da lista o primeiro elemento cujo valor seja igual a x. Ou seja, caso a lista possua vários elementos iguais a x, você precisará realizar essa operação várias vezes. Esse método dispara uma exceção do tipo ValueError para o caso de não encontrar o elemento.

Ainda com o nosso exemplo de animais:

# Lista de animais
animais = ['gato', 'cão', 'cavalos', 'gato', 'tigre']
# removendo o primeiro gato
animais.remove('gato')
# Lista com somente um elemento
print(animais)
>>> ['cão', 'cavalos', 'gato', 'tigre']

Caso você tente realizar a operação várias vezes, irá se deparar com o seguinte erro:

5.list.pop([i])

O método pop deve ser utilizado para remover um elemento com um índice específico. Ou seja, ao utilizar a.pop(2), o elemento de índice 2 será removido e também retornado pelo método, ou seja, você poderá atribuir esse valor para alguma variável de forma a utilizá-la.
Caso nenhum índice seja passado como parâmetro, o método pop() irá retornar o último elemento da lista.

# Lista de animais
animais = ['gato', 'cão', 'cavalos', 'gato', 'tigre']
animais.pop(3)
>>> 'gato'
print(animais)
>>>['gato', 'cão', 'cavalos', 'tigre']
animais.pop()
>>> 'tigre'

6. list.clear()

O método clear é mais radical, remove todos os elementos de uma lista. Você utilizará em programas maiores para garantir uma determinada lista temporária foi esvaziada. Seria o equivalente a del a[:]

# definindo a lista
lista_1 = [{1, 2}, (‘a’), [‘1.1’, ‘2.2’]]
# limpando a lista
lista_1.clear()
print(lista_1)
>>> []

Outros métodos

Além desses seis que mostramos, existem muitos outros relacionados a índices, ordenação, contagem ou reversão da ordem da lista.

O python nos dá uma flexibilidade muito grande, sendo possível realizar operações com finalidades idênticas de diversas formas. Claro que quanto mais métodos você conhecer mais eficiente conseguirá escrever programas.

Os métodos que mostramos nesse post podem ser testados através do Google Colab ou localmente. Acesse aqui:

Para mais conteúdo de Python e Data Science acesse @aprendadatascience ou www.aprendadatascience.com

Até o próximo artigo!!

--

--

Alex Barros
Alex Barros

Written by Alex Barros

Engenheiro da Computação. Mestre e Doutorando em Computação Aplicada. Coordenador do Escritório de Projetos e Processos no TRT8.

No responses yet