Tamanho de fonte
Alto contraste
Altura de linha

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

Avatar de Ana Maria Gomes Ana Maria Gomes
3 minutos de leitura 8 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.

Imagem de um notebook

Cursos de programação gratuitos com certificado

Aprenda a programar e desenvolva soluções para o seu trabalho com Python para alcançar novas oportunidades profissionais. Aqui na Asimov você encontra:

  • Conteúdos gratuitos
  • Projetos práticos
  • Certificados
  • +20 mil alunos e comunidade exclusiva
  • Materiais didáticos e download de código
Inicie agora

Comentários

Comentar
Faça parte da discussão Crie sua conta gratuita e compartilhe
sua opinião nos comentários
Entre para a Asimov