Dicionários em Python
Um dicionário armazena dados em pares chave-valor. Dicionários também são uma coleção não ordenada e são mutáveis, isso significa que podemos utilizar funções e métodos para alterar pares de chave-valor. Diferentemente das listas, dicionários usam as chaves para identificar os seus valores. Cada chave deve ser única, isso é, possuir apenas um único nome.
Sintaxe básica
# Sintaxe básica
dicionario = {
'chave': 'valor'
}
# Exemplo de dicionário
frutas = {
'Maçã': 0.99,
'Laranja': 1.39,
'Abacaxi': 1.99
}
print(frutas)
# Em uma linha
frutas = {'Maçã': 0.99, 'Laranja': 1.39, 'Abacaxi': 1.99}
Acessando e Modificando Dados
dados = {
1: 'Henrique da Costa',
2: 'Felipe dos Santos',
3: 'Arthur Feitosa',
4: 'Marcos Teixeira',
5: 'Fábio Alberto'
}
# Acessando valores
print(dados[2]) # Felipe dos Santos
# Modificando valores
dados[3] = 'Marco Antônio' # Atualiza valor
dados[6] = 'Luiza Moura' # Adiciona novo par
# Removendo pares
del dados[2]
del dados[4]
Métodos Úteis
frutas = {
'Maçã': 3.99,
'Laranja': 4.99,
'Limão': 2.99,
'Abacaxi': 1.99,
'Manga': 1.59
}
# Removendo elementos
del frutas['Abacaxi']
frutas.popitem() # Remove último
frutas.pop('Maçã') # Remove por chave
# Acesso seguro
print(frutas.get('Limão', 'Fruta não encontrada'))
print(frutas.get('Pêra', 'Fruta não encontrada'))
# Verificações
print('Laranja' in frutas) # True
print('Tomate' not in frutas) # True
# Limpando tudo
frutas.clear()
Chaves, Valores e Itens
compras = {
'Arroz': 3.45,
'Feijão': 2.90,
'Macarrão': 4.50,
'Sushi': 1.35
}
# Obtendo chaves, valores e itens
print(compras.keys()) # dict_keys(['Arroz', 'Feijão',...])
print(compras.values()) # dict_values([3.45, 2.9,...])
print(compras.items()) # dict_items([('Arroz', 3.45),...])
Dicionários Aninhados
pessoas = {
'João Miguel': {
'idade': 14,
'cidade': 'Cidade dos Astronautas',
'rua': 'Rua dos Capixabas'
},
'Lucas Ferreira': {
'idade': 23,
'cidade': 'Cidade do Folclore',
'rua': 'Rua dos Caçadores'
}
}
# Acessando dados aninhados
print(pessoas['João Miguel']['idade']) # 14
Exemplo Prático
# Análise de notas de alunos
alunos = {
'João': 7.90,
'Mariane': 5.60,
'Cristopher': 8.55,
'Lucas': 4.50
}
# Cálculos
total = sum(alunos.values())
quantidade = len(alunos)
media = total / quantidade
print(f"Total: {total}")
print(f"Quantidade: {quantidade}")
print(f"Média: {media:.2f}")
# Iterando com for
for nome, nota in alunos.items():
print(f"{nome}: {nota}")