Listas e dicionários são as duas estruturas de dados que você usará em praticamente todo código Python para dados. Listas armazenam sequências ordenadas de valores; dicionários associam chaves a valores. Dominar ambos é pré-requisito para qualquer análise com Pandas.
Listas
vendas = [1200, 3400, 890, 5600, 2100]
nomes = ["Ana", "Bruno", "Carlos"]
misto = [1, "dois", 3.0, True] # pode misturar tipos
# Acessando elementos (índice começa em 0):
print(vendas[0]) # 1200
print(vendas[-1]) # 2100 (último elemento)
print(vendas[1:3]) # [3400, 890] (slice: do índice 1 até antes do 3)
Métodos essenciais de lista
vendas.append(4500) # adiciona ao final
vendas.insert(0, 999) # insere na posição 0
vendas.remove(890) # remove o primeiro 890
valor = vendas.pop() # remove e retorna o último elemento
vendas.sort() # ordena no lugar (crescente)
vendas.sort(reverse=True) # ordena decrescente
print(len(vendas)) # quantidade de elementos
print(sum(vendas)) # soma
print(max(vendas)) # maior valor
print(min(vendas)) # menor valor
Dicionários
cliente = {
"nome": "Maria",
"cidade": "São Paulo",
"valor_compras": 12500.0,
"ativo": True
}
# Acessando valores:
print(cliente["nome"]) # Maria
print(cliente.get("cpf", "N/A")) # N/A (get não dá erro se a chave não existe)
# Modificando:
cliente["cidade"] = "Campinas"
cliente["novo_campo"] = "valor" # adiciona nova chave
# Verificando existência:
if "cpf" in cliente:
print("tem CPF")
else:
print("sem CPF")
Iterando sobre dicionário
for chave, valor in cliente.items():
print(f"{chave}: {valor}")
# Só as chaves:
for chave in cliente.keys():
print(chave)
# Só os valores:
for valor in cliente.values():
print(valor)
Lista de dicionários: dados tabulares em Python puro
pedidos = [
{"id": 1, "produto": "Notebook", "valor": 4500},
{"id": 2, "produto": "Monitor", "valor": 1200},
{"id": 3, "produto": "Teclado", "valor": 350},
]
# Total de vendas:
total = sum(p["valor"] for p in pedidos)
print(f"Total: R$ {total:,.2f}")
# Filtrar apenas acima de R$ 1000:
caros = [p for p in pedidos if p["valor"] > 1000]
Uma lista de dicionários é exatamente o que um DataFrame do Pandas representa internamente.
Perguntas frequentes
Qual a diferença entre lista e tupla?
Tuplas (entre parênteses) são imutáveis — você não pode adicionar, remover ou modificar elementos depois de criadas. Use tuplas para dados que não devem mudar; listas para dados que precisam ser modificados.
Dicionários preservam a ordem de inserção?
Sim, a partir do Python 3.7. A ordem de inserção é garantida.