Submódulo 3: Listas, tuplas e dicionários: estruturas de dados simples
Listas: operações, métodos e mutabilidade (fatiamento e bons hábitos)
🔧 Por que dominar operações de lista?
Listas são a estrutura de coleção mais usada em Python. Saber manipulá-las com segurança evita bugs e melhora performance. Vamos ver os métodos importantes, como fatiamento funciona e quais erros esperar. A documentação detalha a API de sequências e exemplos (1). Para transformar loops em formas mais concisas, compreensões e geradores são úteis (2).
Operações essenciais
- append(x) — adiciona um item ao fim.
- extend(iterable) — adiciona cada item do iterável.
- insert(i, x) — insere na posição i.
- remove(x) — remove a primeira ocorrência de x.
- pop([i]) — remove e retorna o item (último por padrão).
- clear() — remove todos os itens.
Fatiamento (slicing)
Fatiamento produz uma nova lista com os elementos selecionados: sub = lista[1:4:2]
. Lembre que fatiamento cria cópia superficial, logo alterações em objetos mutáveis dentro dessa sublista afetam os itens originais.
Exemplo prático com testes
# Vamos construir e testar pequenas operações
nums = [10, 20, 30]
nums.append(40) # [10, 20, 30, 40]
nums.insert(1, 15) # [10, 15, 20, 30, 40]
last = nums.pop() # last == 40
nums.remove(15) # [10, 20, 30]
# slicing cria cópia
sub = nums[0:2]
assert sub == [10, 20]
# erro comum: nums[10] -> IndexError
- Tentar remover um valor inexistente e observar o erro.
- Fazer fatiamento com passo negativo e explicar o resultado.
Dica: use try/except
se quiser capturar erros e mostrar mensagens amigáveis.
Erros comuns e boas práticas
Um erro frequente é modificar uma lista enquanto itera sobre ela — isso causa comportamento inesperado. Se precisar remover itens durante iteração, iterar sobre uma cópia (for x in lista[:]
) ou construir uma nova lista com compreensão é mais seguro (2).