Como Verificar se um Dicionário Contém uma Chave Específica em Python

PythonBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como verificar se um dicionário contém uma chave específica em Python. Dicionários, que armazenam dados em pares chave-valor, são uma estrutura de dados fundamental.

Este laboratório guia você pela exploração de chaves de dicionário usando o método .keys() e convertendo o objeto de visualização resultante em uma lista. Você também aprenderá como usar o operador in e o método get() para determinar eficientemente se uma chave específica existe dentro de um dicionário.

Explorar as Chaves do Dicionário

Nesta etapa, você aprenderá como acessar as chaves de um dicionário em Python. Dicionários são uma estrutura de dados fundamental que armazena dados em pares chave-valor. Compreender como recuperar as chaves é essencial para trabalhar com dicionários de forma eficaz.

Primeiro, vamos criar um dicionário simples para trabalhar. Abra o editor VS Code no ambiente LabEx e crie um novo arquivo chamado dictionary_keys.py no diretório ~/project.

## Conteúdo de dictionary_keys.py
my_dict = {
    "name": "Alice",
    "age": 30,
    "city": "New York"
}

Agora, vamos explorar como acessar as chaves deste dicionário. Python fornece o método .keys() para este fim. Adicione o seguinte código ao seu arquivo dictionary_keys.py:

## Conteúdo de dictionary_keys.py
my_dict = {
    "name": "Alice",
    "age": 30,
    "city": "New York"
}

keys = my_dict.keys()
print(keys)

Salve o arquivo e execute o script usando o seguinte comando no terminal:

python dictionary_keys.py

Você deve ver a seguinte saída:

dict_keys(['name', 'age', 'city'])

A saída mostra um objeto "dict_keys", que é um objeto de visualização que exibe uma lista de todas as chaves no dicionário.

Para converter este objeto de visualização em uma lista, você pode usar a função list(). Modifique seu arquivo dictionary_keys.py da seguinte forma:

## Conteúdo de dictionary_keys.py
my_dict = {
    "name": "Alice",
    "age": 30,
    "city": "New York"
}

keys = list(my_dict.keys())
print(keys)

Salve o arquivo e execute o script novamente:

python dictionary_keys.py

Agora, a saída será uma lista de chaves:

['name', 'age', 'city']

Você pode agora iterar por esta lista e realizar operações em cada chave. Por exemplo, você pode imprimir cada chave individualmente:

## Conteúdo de dictionary_keys.py
my_dict = {
    "name": "Alice",
    "age": 30,
    "city": "New York"
}

keys = list(my_dict.keys())
for key in keys:
    print(key)

Salve o arquivo e execute o script:

python dictionary_keys.py

A saída será:

name
age
city

Isso demonstra como acessar e iterar pelas chaves de um dicionário em Python. Compreender este conceito é crucial para manipular e extrair informações de dicionários de forma eficaz.

Usar o Operador 'in'

Nesta etapa, você aprenderá como usar o operador in para verificar se uma chave existe em um dicionário. O operador in é uma ferramenta poderosa para determinar a presença de uma chave sem gerar um erro.

Vamos continuar usando o dicionário que criamos na etapa anterior. Se você não tiver o arquivo dictionary_keys.py, crie-o novamente no diretório ~/project com o seguinte conteúdo:

## Conteúdo de dictionary_keys.py
my_dict = {
    "name": "Alice",
    "age": 30,
    "city": "New York"
}

Agora, vamos usar o operador in para verificar se uma chave específica existe no dicionário. Adicione o seguinte código ao seu arquivo dictionary_keys.py:

## Conteúdo de dictionary_keys.py
my_dict = {
    "name": "Alice",
    "age": 30,
    "city": "New York"
}

if "name" in my_dict:
    print("A chave 'name' existe no dicionário.")
else:
    print("A chave 'name' não existe no dicionário.")

Salve o arquivo e execute o script usando o seguinte comando no terminal:

python dictionary_keys.py

Você deve ver a seguinte saída:

A chave 'name' existe no dicionário.

Isso confirma que a chave "name" existe no dicionário.

Agora, vamos verificar uma chave que não existe. Modifique seu arquivo dictionary_keys.py da seguinte forma:

## Conteúdo de dictionary_keys.py
my_dict = {
    "name": "Alice",
    "age": 30,
    "city": "New York"
}

if "country" in my_dict:
    print("A chave 'country' existe no dicionário.")
else:
    print("A chave 'country' não existe no dicionário.")

Salve o arquivo e execute o script novamente:

python dictionary_keys.py

A saída será:

A chave 'country' não existe no dicionário.

Isso demonstra como o operador in pode ser usado para verificar a existência de uma chave em um dicionário. Esta é uma maneira segura e eficiente de determinar se uma chave está presente antes de tentar acessar seu valor.

O operador in retorna True se a chave existir e False caso contrário. Você pode usar este valor booleano em instruções condicionais ou outras operações lógicas.

Verificar com o Método get()

Nesta etapa, você aprenderá como usar o método get() para acessar valores de dicionário com segurança. O método get() fornece uma maneira de recuperar um valor associado a uma chave, e permite que você especifique um valor padrão a ser retornado se a chave não existir. Isso impede que seu programa trave devido a exceções KeyError.

Vamos continuar usando o dicionário que criamos nas etapas anteriores. Se você não tiver o arquivo dictionary_keys.py, crie-o novamente no diretório ~/project com o seguinte conteúdo:

## Conteúdo de dictionary_keys.py
my_dict = {
    "name": "Alice",
    "age": 30,
    "city": "New York"
}

Agora, vamos usar o método get() para recuperar o valor associado à chave "name". Adicione o seguinte código ao seu arquivo dictionary_keys.py:

## Conteúdo de dictionary_keys.py
my_dict = {
    "name": "Alice",
    "age": 30,
    "city": "New York"
}

name = my_dict.get("name")
print(name)

Salve o arquivo e execute o script usando o seguinte comando no terminal:

python dictionary_keys.py

Você deve ver a seguinte saída:

Alice

O método get() recuperou com sucesso o valor associado à chave "name".

Agora, vamos tentar recuperar o valor associado a uma chave que não existe, como "country". Modifique seu arquivo dictionary_keys.py da seguinte forma:

## Conteúdo de dictionary_keys.py
my_dict = {
    "name": "Alice",
    "age": 30,
    "city": "New York"
}

country = my_dict.get("country")
print(country)

Salve o arquivo e execute o script novamente:

python dictionary_keys.py

A saída será:

None

Por padrão, o método get() retorna None se a chave não existir. Isso impede que um KeyError seja levantado.

Você também pode especificar um valor padrão a ser retornado se a chave não existir. Modifique seu arquivo dictionary_keys.py da seguinte forma:

## Conteúdo de dictionary_keys.py
my_dict = {
    "name": "Alice",
    "age": 30,
    "city": "New York"
}

country = my_dict.get("country", "Unknown")
print(country)

Salve o arquivo e execute o script:

python dictionary_keys.py

A saída será:

Unknown

Neste caso, como a chave "country" não existe no dicionário, o método get() retornou o valor padrão "Unknown" que especificamos.

Usar o método get() é uma boa prática ao trabalhar com dicionários, pois permite que você lide com casos em que uma chave pode não existir de forma elegante, evitando erros e tornando seu código mais robusto.

Resumo

Neste laboratório, você começou explorando como acessar chaves de dicionário em Python. Você aprendeu a criar um dicionário e usar o método .keys() para recuperar um objeto de visualização (view object) contendo as chaves do dicionário.

Em seguida, você aprendeu como converter este objeto de visualização em uma lista usando a função list(), permitindo que você iterasse pelas chaves e realizasse operações nelas, como imprimir cada chave individualmente.