Como Verificar se uma Chave Já Existe em um Dicionário

Ana Maria Gomes
4 minutos de leitura

Conteúdos do tutorial

Ao trabalhar com dicionários em Python, uma tarefa comum é verificar se uma chave já existe antes de realizar uma atualização ou outra operação. Existe uma maneira simples e eficiente de fazer isso que todo programador Python deveria conhecer.

Exemplo de dicionários em Python

A Maneira Eficiente de Verificar uma Chave

O método mais direto para verificar se uma chave existe em um dicionário é usar a palavra-chave in diretamente com o dicionário. Veja como você pode fazer isso:

meu_dict = {'chave1': 'valor1', 'chave2': 'valor2'}

if 'chave1' in meu_dict:
    print("blah")
else:
    print("boo")

Este método não é apenas mais limpo, mas também mais rápido.

Usando get() para Fornecer um Valor Padrão

Às vezes, você pode querer fornecer um valor padrão para uma chave se ela não existir no dicionário. O método get() é perfeito para isso:

d = {}
for i in range(100):
    chave = i % 10
    d[chave] = d.get(chave, 0) + 1

Este trecho de código atualizará o valor para cada chave, e se a chave não existir, ela será inicializada com 0 antes de realizar a adição.

Inicialização Padrão com setdefault() e defaultdict

Para cenários onde você precisa garantir um valor padrão para cada chave ao atribuir, você pode usar o método setdefault():

d = {}
for i in range(100):
    d[i % 10] = d.setdefault(i % 10, 0) + 1

Uma abordagem ainda melhor é usar o defaultdict do módulo collections, que automaticamente inicializa cada nova chave com um valor padrão:

from collections import defaultdict

d = defaultdict(int)
for i in range(100):
    d[i % 10] += 1

Com defaultdict, você não precisa verificar se uma chave existe antes de atualizar seu valor, pois ela será criada automaticamente com o valor padrão se não existir.

Métodos Obsoletos

Vale a pena notar que em códigos Python mais antigos, você pode encontrar o método has_key(). Este método está obsoleto e deve ser substituído pela sintaxe chave in dict para verificar se uma chave existe.

Resumo

Em resumo, a melhor maneira de verificar se uma chave existe em um dicionário é usar a palavra-chave in diretamente com o dicionário. Para casos em que você precisa fornecer um valor padrão, considere usar get(), setdefault() ou defaultdict do módulo collections. Esses métodos não são apenas mais idiomáticos em Python, mas também garantem que seu código seja executado de forma eficiente.

Inscreva-se gratuitamente e fique atualizado

Receba toda semana um resumo dos principais conteúdos da Asimov direto no seu e-mail. 100% livre de spam.

Áreas de interesse:
Conteúdos do tutorial