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

Avatar de Ana Maria Ana Maria
3 minutos de leitura 4 meses atrás

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.

Curso Gratuito

Curso gratuito de Python

Do zero ao primeiro projeto em apenas 2 horas

Criar conta gratuita

Comentários

Comentar
Você tem o Acesso Básico.
Libere seu acesso ao suporte dos professores Garanta seu acesso PRO para tirar todas suas dúvidas com nossa equipe.
Seja PRO