Dicionários em Python
Os dicionários em Python são estruturas de dados muito versáteis. Eles são usados para armazenar pares key-values (chave-valores). Essa estrutura torna os dicionários excelentes em tarefas de recuperação de dados. Consequentemente, os dicionários são as estruturas de dados ideais para cenários que envolvem pesquisas rápidas, mapeamentos ou representações de dados estruturados.
Em Python, os dicionários podem ser criados através da definição de pares key-values delimitados com chaves {}.
meu_dic = {
'nome1': 'Ana',
'nome2': 'Bianca',
'nome3': 'Carla'
}
Principais Características dos Dicionários em Python
Dados armazenados em pares key-value
Os dicionários armazenam dados como pares key-value. Cada chave (key) está associada a um valor específico. As keys são separadas de seus valores por dois pontos, e cada par key-value é separado dos demais por vírgula.
meu_dic = {
'cor': 'branco',
'marca': 'Ford',
'modelo': 'Ecosport'
}
Chaves exclusivas
As keys de um dicionário Python são exclusivas. Ou seja, um dicionário não pode conter a mesma key mais de uma vez. As keys podem ser de diferentes tipos, como strings, números e até tuplas, como ilustrado abaixo:
# tuplas como keys
meu_dic = {
(1, 2): 'Ana',
(3, 4): 'Bianca',
(5, 6): 'Carla'
}
Valores flexíveis
Os valores em um dicionário Python podem ser de qualquer tipo de dados e podem ser duplicados. Veja abaixo um exemplo de dicionário em Python com strings, números, lista e até outro dicionário sendo usado como valores.
meu_dic = {
'nome': 'Ana',
'turma': 'sexta A',
'faltas': 5,
'notas': {'teste1': 7, 'teste2': 8, 'teste3': 7.5},
'tarefas': [10, 9, 10, 8]
}
Dicionários em Python são ordenados
Desde o Python 3.7, os dicionários Python são ordenados. Ou seja, eles mantêm a ordem de inserção de seus elementos.
Dicionários em Python são mutáveis
Os dicionários podem ser alterados, permitindo que você adicione, modifique ou remova pares key-value após a criação. Para adicionar um novo par a um dicionário, simplesmente atribua um valor a uma nova key:
meu_dic = {
'cor': 'branco',
'marca': 'Ford',
'modelo': 'Ecosport'
}
meu_dic['ano'] = 2020 # insere um novo par key-value
print(meu_dic)
# resultado: {'cor': 'branco', 'marca': 'Ford', 'modelo': 'Ecosport', 'ano': 2020}
O método update() permite a inclusão de múltiplos pares key-value simultaneamente:
meu_dic = {
'cor': 'preto',
'marca': 'Fiat',
'modelo': 'Palio'
}
meu_dic.update({'ano': 2018, 'donos': 2, 'quilometragem': '200000 km'}) # insere novos pares key-value
print(meu_dic)
# resultado: {'cor': 'preto', 'marca': 'Fiat', 'modelo': 'Palio', 'ano': 2018, 'donos': 2, 'quilometragem': '200000 km'}
Já o método pop() pode ser utilizado para remover pares key-value.
meu_dic = {
'nome': 'Ana',
'notas': [7, 10, 8],
'turma': 'primeiro A'
}
meu_dic.pop('turma') # remove par key-value
print(meu_dic)
resultado: {'nome': 'Ana', 'notas': [7, 10, 8]}
O método popitem() remove o último valor inserido.
meu_dic = {
'banana': 5.6,
'tomate': 3,
'pepino': 10.3,
}
meu_dic.popitem() # remove último par key-value inserido
print(meu_dic) # {'banana': 5.6, 'tomate': 3}
Outros métodos importantes
Além dos métodos mostrados acima, os dicionários vêm com outros métodos internos bastante úteis, como keys(), values(), items() e get().
O método keys() retorna todas as keys de um dicionário. Similarmente, o método values() retorna todos os values (valores) presentes em um dicionário. Veja um exemplo abaixo:
meu_dic = {
'nome': 'Mara',
'idade': '33',
'cidade': 'Belo Horizonte',
}
print(meu_dic.keys()) # retorna todas as keys
# resultado: dict_keys(['nome', 'idade', 'cidade'])
print(meu_dic.values()) # retorna todos os values
# resultado: dict_values(['Mara', '33', 'Belo Horizonte'])
O método items() retorna os pares key-value. Esse método é comumente empregado para realizar iterações com dicionários, como ilustrado abaixo:
meu_dic = {
'nome': 'Mara',
'idade': '33',
'cidade': 'Belo Horizonte',
}
for k, v in meu_dic.items(): # usa método items() para imprimir pares key-values
print(k, v)
# resultados:
# nome Mara
# idade 33
# cidade Belo Horizonte
Já o método get() pode ser usado para retornar os values associados a uma key, o que também pode ser feito especificando a key diretamente. Porém, a vantagem do método get() é que ele não retorna um erro caso a key não exista no dicionário. Veja abaixo:
meu_dic = {
'cadeira': 4,
'mesa': 3,
'geladeira': 1,
'microondas': 2,
}
print(meu_dic['TV']) # tenta acessar os valores associados a uma key inexistente
# resultado: KeyError: 'TV'
# tenta acessar uma key inexistente com get()
print(meu_dic.get('TV'))
# resultado: None
Veja também:
Concatenações com join() para strings em Python
O que é operador ternário em Python?
F-strings em Strings Multilinhas
Decodificação de strings em Python com decode()
Métodos para Manipular Strings em Python
Módulo Getpass para Prompts de Senhas
Aprenda a comparar textos com Python com Difflib
Módulo textwrap para formatação de textos
Manipulação de arquivos com Python
os.environ: gerenciamento de variáveis de ambiente com Python
Encontrou algum erro ou quer fazer uma sugestão? Por favor, entre em contato usando nosso formulário de contatos.