08. Dicionários#
Percorrendo um dicionário#
Para percorrer os elementos de um dicionário vamos utilizar exclusivamente o for
. Existem 3 maneiras de percorrer um dicionário utilizando o for
. Para compreender as 3 maneiras, precisamos conhecer alguns métodos disponíveis em dicionários:
- O método
.keys()
(usado comodicionario.keys()
) devolve todas as chaves do dicionário; - O método
.values()
(usado comodicionario.values()
) devolve todos os valores do dicionário; - O método
.items()
(usado comodicionario.items()
) devolve todos os itens (pares chave-valor) do dicionário.
Exercise 1
Answer
O código acima imprime dict_keys(['couve', 'repolho', 'brocolis'])
no terminal.
O código acima imprime algo similar a uma lista, mas que é do tipo dict_keys
. É possível fazer a conversão para lista da sequinte forma: list(port2eng.keys())
.
Exercise 2
Answer
O código acima imprime dict_values(['kale', 'cabbage', 'broccoli'])
no terminal.
O código acima imprime algo similar a uma lista, que é do tipo dict_values
. Neste caso, também é possível fazer a conversão para lista da seguinte forma: list(port2eng.values())
.
Exercise 3
Answer
O código acima imprime dict_items([('couve', 'kale'), ('repolho', 'cabbage'), ('brocolis', 'broccoli')])
no terminal.
O código acima imprime algo similar a uma lista, que é do tipo dict_items
. Neste caso, também é possível fazer a conversão para lista da seguinte forma: list(port2eng.items())
.
Opção 1#
Agora que vimos como funcionam os métodos .keys()
, .values()
e .items()
, podemos ver como podemos utilizá-los para percorrer um dicionário.
A primeira opção para percorrer um dicionário utilizando for
é:
port2eng = {'couve': 'kale', 'repolho': 'cabbage', 'brocolis': 'broccoli'}
for port in port2eng:
eng = port2eng[port]
print('{0} é {1}'.format(port, eng))
Nessa opção, o bloco do for
é executado para cada chave do dicionário. Se você precisar do valor associado a essa chave é necessário acessar o valor no dicionário (primeira linha dentro do for
). Ela é equivalente a:
port2eng = {'couve': 'kale', 'repolho': 'cabbage', 'brocolis': 'broccoli'}
for port in port2eng.keys():
eng = port2eng[port]
print('{0} é {1}'.format(port, eng))
O .keys()
é redundante nesse caso, apresentamos a versão acima por completude. Você pode sempre usar a primeira versão (sem o .keys()
) sem prejuízo.
Exercise 4
Opção 2#
A segunda opção para percorrer um dicionário possui um resultado similar ao for
com listas, ou seja, percorremos somente os valores:
Exercise 5
Opção 3#
Se você está interessado tanto nas chaves quando nos valores, é possível percorrer a lista da seguinte maneira:
Exercise 6
Exercise 7
Removendo um item do dicionário#
Assim como em listas, podemos remover um item utilizando o operador del
:
Exercise 8
Answer
Foi impresso {'couve': 'kale', 'brocolis': 'broccoli'}
.
O código del port2eng['repolho']
remove o item 'repolho': 'cabbage'
do dicionário.
EXERCÍCIOS ADICIONAIS#
Exercise 9
Exercise 10
Exercise 11
Exercise 12
Exercise 13
Exercise 14
Exercise 15
Exercise 16