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.
Exercício 1
Resposta
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())
.
Exercício 2
Resposta
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())
.
Exercício 3
Resposta
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(f'{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(f'{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.
Exercício 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:
Exercício 5
Opção 3#
Se você está interessado tanto nas chaves quando nos valores, é possível percorrer a lista da seguinte maneira:
Exercício 6
Exercício 7
Removendo um item do dicionário#
Assim como em listas, podemos remover um item utilizando o operador del
:
Exercício 8
Resposta
Foi impresso {'couve': 'kale', 'brocolis': 'broccoli'}
.
O código del port2eng['repolho']
remove o item 'repolho': 'cabbage'
do dicionário.
EXERCÍCIOS ADICIONAIS#
Exercício 9
Resposta
Resposta errada
Resposta correta
Exercício 10
Exercício 11
Exercício 12
Exercício 13
Exercício 14
Exercício 15
Exercício 16
Exercício 17