Trabalhando com Dicionários em Python#

Neste capítulo, vamos entender como usar o tipo dict (dicionário) em Python e fornecer alguns exemplos de como ele pode ser útil.

O que é um Dicionário?#

Dicionários são uma estrutura de dados que permite armazenar e acessar dados de forma organizada e eficiente. Eles são compostos por pares chave-valor, onde cada chave é única e está associada a um valor. Isso é semelhante a como os dicionários de papel funcionam, onde as palavras são as chaves e as definições são os valores.

Em Python, os dicionários são criados utilizando chaves {} e os pares chave-valor são separados por vírgulas. As chaves devem ser valores imutáveis, como strings ou números, enquanto os valores podem ser de qualquer tipo.

Por via de regra, utilize strings para as chaves. Isso abrange 99% dos casos de uso da vida real.

pessoa = {'nome': 'João', 'idade': 30, 'cidade': 'São Paulo'}

Neste exemplo, temos um dicionário chamado “pessoa” com três pares chave-valor:

  • 'nome' com valor 'João'

  • 'idade' com valor 30

  • 'cidade' com valor 'São Paulo'.

É possível escrever um dicionário se utilizando de várias linhas. Isso pode te ajudar a ler e entender o que está acontecendo:

pessoa = {
	'nome': 'João',
	'idade': 30,
	'cidade': 'São Paulo'
}

Acessando Valores em um Dicionário#

Para acessar os valores em um dicionário, você pode usar a sintaxe de colchetes [] e passar a chave correspondente.

pessoa = {'nome': 'João', 'idade': 30, 'cidade': 'São Paulo'}
print(pessoa['nome']) # 'João'

Se você tentar acessar uma chave que não existe, ocorrerá um erro de KeyError. Para evitar isso, você pode usar o método get() para acessar valores, passando a chave como parâmetro. Se a chave não existir, o método retornará None.

pessoa = {'nome': 'João', 'idade': 30, 'cidade': 'São Paulo'}
print(pessoa.get('nome')) # 'João'
print(pessoa.get('altura')) # None

A última linha retornou None pois não existe a chave altura no dicionário.

Também é possível passar um valor padrão como segundo parâmetro para o método get(), que será retornado caso a chave não exista:

pessoa = {'nome': 'João', 'idade': 30, 'cidade': 'São Paulo'}
print(pessoa.get('altura', 1.75)) # 1.75

Adicionando e Alterando Valores#

Você pode adicionar novos pares chave-valor a um dicionário usando a sintaxe de colchetes [] e atribuir um valor à chave. Se a chave já existir, o valor será substituído.

pessoa = {'nome': 'João', 'idade': 30, 'cidade': 'São Paulo'}
pessoa['cidade'] = 'Manaus'
pessoa['altura'] = 1.75
print(pessoa) # {'nome': 'João', 'idade': 30, 'cidade': 'Manaus', 'altura': 1.75}

Você também pode usar o método update() para adicionar ou atualizar vários pares chave-valor de uma vez. Este método aceita outro dicionário como parâmetro e adiciona todas as suas chaves e valores ao dicionário atual.

pessoa = {'nome': 'João', 'idade': 30, 'cidade': 'São Paulo'}
novos_dados = {'altura': 1.75, 'profissão': 'Engenheiro'}
pessoa.update(novos_dados)
print(pessoa) # {'nome': 'João', 'idade': 30, 'cidade': 'São Paulo', 'altura': 1.75, 'profissão': 'Engenheiro'}

Removendo Valores#

Você pode remover um par chave-valor de um dicionário usando o método pop(). Este método remove a chave e o valor correspondente e retorna o valor removido. Se a chave não existir, o método retornará um erro KeyError.

pessoa = {'nome': 'João', 'idade': 30, 'cidade': 'São Paulo', 'altura': 1.75}
altura = pessoa.pop('altura')
print(pessoa) # {'nome': 'João', 'idade': 30, 'cidade': 'São Paulo'}
print(altura) # 1.75

Se você quiser evitar erros, você pode passar um valor padrão como segundo parâmetro para o método pop(), que será retornado caso a chave não exista:

pessoa = {'nome': 'João', 'idade': 30, 'cidade': 'São Paulo'}
altura = pessoa.pop('altura', 'altura inexistente')
print(pessoa) # {'nome': 'João', 'idade': 30, 'cidade': 'São Paulo'}
print(altura) # 'altura inexistente'

Você também pode usar o método del para remover um par chave-valor pelo nome da chave:

del pessoa['idade']

Este capítulo cobriu os principais conceitos e operações relacionadas ao tipo dict (dicionário) em Python. Os dicionários são muito úteis quando precisamos armazenar dados com chaves específicas e acessá-los rapidamente.

Como próximo passo, você pode experimentar criar programas que utilizam dicionários para armazenar informações de diversas fontes, como por exemplo, dados de clientes, produtos, funcionários e etc. Tente utilizar o que aprendemos com o input() para preencher um dicionário com dados informados pelo usuário.

Este tipo de estrutura de dados é muito utilizado em todo tipo de programa, então a sua compreensão é fundamental para sua jornada como programador.