✅ Atualizado para Python 3.13 (Dezembro 2025)
Conteúdo enriquecido com casos práticos do mundo real e análise de complexidade dos métodos.
Olá Pythonista!
Nesse post vamos continuar falando sobre manipulação de listas! Você vai dominar os métodos essenciais como append(), extend(), remove(), pop(), sort() e muito mais.
Se você ainda não acessou nosso post introdutório sobre Listas, recomendo começar por lá!
Agora que você já conhece o básico, vamos ao conteúdo avançado! ![]()
Vá Direto ao Assunto…
- Métodos para manipulação de Listas
- Keywords de manipulação de Listas
- Casos Práticos Combinados
- Performance dos Métodos
Métodos para manipulação de Listas
O Python tem vários métodos disponíveis em listas que nos permite manipulá-las.
Veremos agora quais são os métodos e como utilizá-los!
Método index
Utilizado encontrar a posição de um valor especificado. Exemplo:
1
2
3
4
5
lista = ['Carro', 'Casa', 'Hotel', 'Casa']
pos = lista.index('Casa')
print(f'O item desejado está na posição: {pos}')
Saída:
1
O item desejado está na posição: 1
Método count
O método count(elemento) retorna o número de vezes que o valor especificado aparece na lista. Exemplo:
1
2
3
4
5
lista = ['Carro', 'Casa', 'Hotel', 'Casa']
pos = lista.count('Casa')
print(f'O item desejado aparece: {pos}')
Saída:
1
O item desejado aparece: 2
Método append
Para adicionar um elemento ao final da lista, use o método append(elemento):
1
2
3
4
5
lista = ['Python', 'Academy']
lista.append('adicionado')
print(lista)
Saída:
1
['Python', 'Academy', 'adicionado']
Método insert
Para adicionar um item em um índice especificado, use o método insert(índice, elemento):
1
2
3
4
5
lista = ['Python', 'Academy']
lista.insert(0, 'Blog')
print(lista)
Saída:
1
['Blog', 'Python', 'Academy']
Método extend
O método extend(iterável) adiciona os elementos de uma lista especificada (ou qualquer outro iterável) ao final da lista:
1
2
3
4
5
6
sacola = ['Laranja', 'Banana']
legumes = ['Xuxu', 'Batata']
sacola.extend(legumes)
print(sacola)
Saída:
1
['Laranja', 'Banana', 'Xuxu', 'Batata']
É possível concatenar as listas para obter o mesmo resultado em uma nova variável. Exemplo:
1
2
3
4
5
6
sacola = ['Laranja', 'Banana']
legumes = ['Xuxu', 'Batata']
juntos = sacola + legumes
print(juntos)
Saída:
1
['Laranja', 'Banana', 'Xuxu', 'Batata']
E também podemos percorrer uma das listas, adicionando elementos à outra com o método append(), assim:
1
2
3
4
5
6
7
sacola = ['Laranja', 'Banana']
legumes = ['Xuxu', 'Batata']
for legume in legumes:
sacola.append(legume)
print(sacola)
Saída:
1
['Laranja', 'Banana', 'Xuxu', 'Batata']
Estou desenvolvendo o DevBook, uma plataforma que usa IA para gerar ebooks técnicos profissionais. Não deixe de conferir!
Método remove
Para remover um item com valor especificado, use o método remove(elemento):
1
2
3
lista = ['Blog', 'Python', 'Academy']
lista.remove('Blog')
print(lista)
Saída:
1
['Python', 'Academy']
Outra forma de remover elementos de uma lista é utilizando a função del do próprio Python, assim:
1
2
3
lista = [10, 20, 30, 40, 50]
del lista[2]
print(lista)
Saída:
1
[10, 20, 40, 50]
Com a del também é possível excluir uma lista completamente:
1
2
3
lista = [10, 20, 40, 50]
del lista
print(lista)
Aqui o Python irá retornar um erro, já que a variável lista não está mais definida no momento da chamada do print:
1
2
3
4
Traceback (most recent call last):
File "listas_testes.py", line 3, in <module>
print(lista)
NameError: name 'lista' is not defined
Método pop
Para remover um item do índice especificado e ainda retorná-lo, use o método pop(índice), dessa forma:
1
2
3
4
5
6
lista = ['Banana', 'limão', 'Carro', 'Laranja']
item = lista.pop(2)
print('Item:', item)
print('Lista: 'lista)
Saída:
1
2
Item: Carro
Lista: ['Banana', 'limão', 'Laranja']
Método clear
Esse método é utilizado para remover todos os elementos de uma lista, dessa forma:
1
2
3
4
5
lista = [10, 20, 40, 50]
lista.clear()
print(lista)
Saída:
1
[]
Método copy
Esse método retorna uma cópia da lista especificada.
1
2
3
4
5
6
lista = ['Python', 'Academy']
lista_copiada = lista.copy()
print(lista_copiada)
print(lista)
Saída:
1
2
['Python', 'Academy']
['Python', 'Academy']
Método reverse
O método reverse é utilizado para reverter a ordem dos elementos de uma lista:
1
2
3
4
5
lista = [1, 2, 3, 4, 5]
lista.reverse()
print(lista)
Saída:
1
[5, 4, 3, 2, 1]
Método sort
Esse método é utilizado para ordenar a lista.
Também é possível criar uma função para definir seus próprios critérios de ordenação com sort(key=funcao).
Exemplo:
1
2
3
4
5
lista = [1, 4, 5, 2, 4]
lista.sort()
print(lista)
Saída:
1
[1, 2, 4, 4, 5]
Adicionando o parâmetro reverse=True, é possível ordenar a lista em ordem decrescente.
Para deixar do modo padrão basta colocar reverse=False:
1
2
3
4
5
lista = [1, 4, 5, 2, 4]
lista.sort(reverse=True)
print(lista)
Saída:
1
[5, 4, 4, 2, 1]
Está curtindo esse conteúdo? ![]()
Que tal receber 30 dias de conteúdo direto na sua Caixa de Entrada?
Keywords de manipulação de Listas
Nesta parte veremos algumas Keyword da própria linguagem que utilizam listas como parâmetro, executando alguma ação.
Keyword len()
Retorna a quantidade de itens em uma lista, utilizando o método len(iterável):
1
2
3
lista = [10, 20, 30, 40, 50, 60]
print('Quantidade de itens:', len(lista))
Saída:
1
Quantidade de itens: 6
Keyword min()
A função min(iterável) devolve o item com menor valor da lista ou iterável de entrada:
1
2
3
lista = [2, 4, 8, 1]
print('Menor valor da lista:', min(lista))
Saída:
1
Menor valor da lista: 1
Keyword max()
Retorne o maior valor da lista ou iterável especificado mix(iterável):
1
2
3
lista = [2, 4, 8, 1]
print('Maior valor da lista:', max(lista))
Saída:
1
Maior valor da lista: 8
Keyword sorted()
A função sorted() é utilizada para ordenar a lista de entrada:
1
2
3
4
lista = [2, 4, 8, 1]
lista_ord = sorted(lista)
print(lista_ord)
Saída:
1
[1, 2, 4, 8]
Keyword reversed()
A função reversed() reverte a ordem da lista de entrada.
Exemplo:
1
2
3
4
lista = [1, 2, 3, 4, 7]
for item in reversed(lista):
print(item)
Saída:
1
2
3
4
5
7
4
3
2
1
Casos Práticos Combinados
1. Remover Duplicatas Mantendo Ordem
1
2
3
4
5
6
7
8
9
10
# Preservar ordem original (Python 3.7+)
items = [1, 2, 2, 3, 1, 4, 3]
unique = list(dict.fromkeys(items))
print(unique) # [1, 2, 3, 4]
# Alternativa: usando lista como acumulador
unique = []
for item in items:
if item not in unique:
unique.append(item)
2. Filtrar e Transformar
1
2
3
4
5
6
7
8
9
prices = [10.5, 25.0, 5.99, 100.0, 15.75]
# Filtrar preços < 50 e aplicar desconto de 10%
discounted = []
for price in prices:
if price < 50:
discounted.append(price * 0.9)
print(discounted) # [9.45, 22.5, 5.391, 14.175]
3. Mesclar e Ordenar Duas Listas
1
2
3
4
5
6
7
8
9
10
11
12
list1 = [3, 1, 4]
list2 = [2, 5, 0]
# Mesclar
merged = list1 + list2
# Ordenar in-place
merged.sort()
print(merged) # [0, 1, 2, 3, 4, 5]
# Ordenar sem modificar original
sorted_list = sorted(list1 + list2, reverse=True)
Performance dos Métodos
| Método | Complexidade | Quando usar |
|---|---|---|
.append(x) |
O(1) | Adicionar no final (sempre) |
.insert(0, x) |
O(n) | Evite! Use deque para início |
.pop() |
O(1) | Remover do final |
.pop(0) |
O(n) | Evite! Use deque.popleft()
|
.remove(x) |
O(n) | Busca + remoção |
.sort() |
O(n log n) | Ordenação in-place |
sorted(list) |
O(n log n) | Cria nova lista ordenada |
x in list |
O(n) | Busca linear (use set se muitas buscas) |
💡 Dica: Se fizer muitas inserções/remoções no início, use collections.deque em vez de lista!
1
2
3
4
5
from collections import deque
fila = deque([1, 2, 3])
fila.appendleft(0) # O(1) - rápido!
fila.popleft() # O(1) - rápido!
Conclusão
Neste guia de Manipulação de Listas, você aprendeu:
✅ Métodos essenciais - append, extend, insert, remove, pop, sort
✅ Casos práticos - Remover duplicatas, filtrar, mesclar
✅ Performance - Complexidade O(n) dos métodos
✅ Alternativas - deque para operações no início
Principais lições:
-
.append()é O(1) - use sempre no final -
.insert(0, x)é O(n) - evite no início - Use deque para fila (FIFO) eficiente
-
.sort()ordena in-place (modifica original) -
sorted()cria nova lista (preserva original)
Próximos passos:
- Pratique list comprehensions (mais eficiente!)
- Explore métodos avançados (.count, .index, .clear)
- Aprenda slicing com step ([::2], [::-1])
- Estude
collections.dequepara filas
Esse post mostrou como o Python nos entrega tudo que precisamos para manipular Listas de uma maneira rápida, prática e eficiente!
Espero que esse post tenha sido útil pra você e nos vemos no próximo post!
"Porque o Senhor dá a sabedoria, e da sua boca vem a inteligência e o entendimento" Pv 2:6