Dicionários Python: Estrutura e Mapas Hash
Dicionários Master Python. Aprenda a armazenar, buscar e manipular dados de pares de valores-chave. Entenda o desempenho e as práticas recomendadas para mapeamentos.
Visão geral
Os dicionários são indiscutivelmente a estrutura de dados mais importante e otimizada em Python. Um dicionário é uma coleção mutável de valores de dados armazenados em pares `chave:valor`. Se você imaginar um dicionário do mundo real, a “chave” é a palavra que você está procurando e o “valor” é a definição. Essa estrutura de emparelhamento torna incrivelmente eficiente recuperar, atualizar e gerenciar dados relacionais.
Nos bastidores, os dicionários Python são implementados como tabelas de hash altamente otimizadas (ou mapas de hash). Isso implica que recuperar um valor por sua chave é uma operação de tempo constante `O(1)`. Quer o seu dicionário contenha dez itens ou dez milhões de itens, o Python pode pular instantaneamente diretamente para o endereço de memória do valor sem precisar examinar toda a coleção.
Para definir um dicionário, você usa chaves `{}` com chaves e valores separados por dois pontos `:`. As chaves devem ser tipos imutáveis (como strings, números inteiros ou tuplas), o que significa que você não pode usar uma lista como chave de dicionário. Os valores, no entanto, podem ser absolutamente qualquer coisa, incluindo listas, objetos ou até mesmo dicionários profundamente aninhados, o que os torna perfeitos para representar estruturas de dados semelhantes a JSON.
O acesso aos valores é feito usando notação de colchetes (por exemplo, `user["name"]`). No entanto, se a chave não existir, esta abordagem lança um `KeyError`, interrompendo imediatamente a execução do programa. Para escrever um código mais seguro, os profissionais usam o método `.get()` (por exemplo, `user.get("name")`), que retorna normalmente `None` ou um valor padrão personalizado se a chave estiver faltando, evitando travamentos desnecessários.
Historicamente, os dicionários Python eram completamente desordenados. No entanto, a partir dePython 3.7, os dicionários têm garantia oficial de manter a ordem de inserção. Isso significa que quando você itera em um dicionário usando métodos como `.keys()`, `.values()` ou `.items()`, os itens serão retornados na sequência exata em que foram originalmente adicionados ao dicionário, combinando a velocidade dos mapas hash com a previsibilidade das listas.
Saída de código e execução
Criação de um perfil de configuração do usuário utilizando fortemente pares de valores-chave aninhados.
user = {
"username": "coder123",
"role": "admin",
"active": True
}
user["last_login"] = "2026-04-10" # Adding a key
print(f"Username is {user['username']}")
# Iterating over key-value pairs
for key, value in user.items():
print(f"{key}: {value}")Username is coder123
username: coder123
role: admin
active: True
last_login: 2026-04-10Implementação passo a passo
- Tratamento de respostas JSON de APIs REST
- Mapeando IDs exclusivos para objetos de dados grandes
- Armazenando parâmetros de configuração do aplicativo
Perguntas frequentes
O que acontece se eu tentar acessar uma chave que não existe?
Usar a notação de colchetes (usuário["nome"]) gera um KeyError. Use user.get("name") para retornar None sem lançar.
Tópicos Relacionados
Aprenda tudo sobre listas Python. Descubra como criar, fatiar, modificar e iterar nativamente arrays em Python.
Variáveis e tipos de dados Python explicadosEntenda as variáveis do Python e os principais tipos de dados (strings, inteiros, flutuantes, booleanos). Um guia completo para iniciantes sobre atribuição de memória em Python.
Recursos Python recomendados
Expanda seu conhecimento com tutoriais interativos relacionados, folhas de dicas e comparações de código.
Como classificar uma lista em Python
Aprenda como classificar uma lista em Python usando o método sort() e a função sorted(). Descubra exemplos de classificação de chaves personalizadas e ordem reversa.
Folha de dicas dos métodos de string Python
Um guia de referência completo para manipulação de strings em Python. Domine a formatação, pesquisa, divisão, substituição e verificação de propriedades de string.
Python vs JavaScript: qual linguagem de programação é a melhor?
Uma comparação abrangente entre Python e JavaScript. Explore diferenças de sintaxe, desempenho, casos de uso (backend versus frontend) e exemplos de codificação.