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