08. Dicionários#
Inicialização de dicionários#
Já vimos que podemos criar um dicionário indicando a chave e o valor separados por dois pontos:
Podemos guardar qualquer coisa em dicionários, inclusive listas:
Ou até outros dicionários:
colecao = {
'José': {
"email":"jose@email.com.br",
"telefone":"99999-4444"
},
'Ana': {
"email":"ana@email.com.br",
"telefone":"99999-5555"
}
}
Podemos também criar dicionários vazios de maneira similar às listas:
Tem append
?#
Em uma lista temos que usar o método .append()
para colocar um elemento extra (criando uma posição nova):
Em um dicionário isso não é necessário: basta colocar o novo elemento na nova posição (como fazemos quando queremos substituir um elemento em uma lista):
Exercise 1
Answer
Ao testar o código acima, foi impresso {'vida universo e tudo mais': 42}
.
Foi impresso um dicionário com um item
, sendo esse item composto pela chave
'vida universo e tudo mais'
e pelo valor
42
.
Exercise 2
Answer
Será impresso {'vida universo e tudo mais': 'NÃO ENTRE EM PÂNICO!'}
.
O código meu_dicionario['vida universo e tudo mais'] = 42
, cria um item
novo no dicionário vazio.
Em seguida, o código meu_dicionario['vida universo e tudo mais'] = 'NÃO ENTRE EM PÂNICO!'
atualiza o valor 42
armazenado na chave 'vida universo e tudo mais'
, por 'NÃO ENTRE EM PÂNICO!'
.
Exercise 3
Verificando se uma chave existe#
Exercise 4
Answer
Ao testar o código acima deu o erro KeyError: 'alface'
.
O resultado esperado do programa acima é o erro KeyError
. Por quê?
A chave 'alface'
não existe no dicionário, então o dicionário não tem um valor para devolver. Por esse motivo é importante verificarmos se uma chave existe no dicionário antes de tentar acessar seu valor. Para isso utilizamos o operador in
.
Exercise 5
Answer
Nesse caso, o programa vai imprimir: A palavra alface não existe no dicionário
.
Exercise 6
Exercise 7
Answer
Ao testar o código acima a mensagem A cor vermelho não está presente na lista cores
é impressa no terminal.
Exercise 8
Answer
Ao testar o código acima a mensagem A palavra kale não existe no dicionário
.
Isso ocorre, porque ao utilizar o código eng in port2eng
, o Python verifica se a string 'kale'
é uma chave
no dicionário port2eng
.
Podemos pensar no comando como 'kale' in ['couve', 'repolho', 'brocolis']
.
Percorrendo um dicionário#
Vamos ver como percorrer um dicionários. Clique aqui