• Python
  • 08. Armazenamento de chaves e valores em dicionários
  • Percorrendo um dicionário

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:

  1. O método .keys() (usado como dicionario.keys()) devolve todas as chaves do dicionário;
  2. O método .values() (usado como dicionario.values()) devolve todos os valores do dicionário;
  3. O método .items() (usado como dicionario.items()) devolve todos os itens (pares chave-valor) do dicionário.

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.

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:

Opção 3#

Se você está interessado tanto nas chaves quando nos valores, é possível percorrer a lista da seguinte maneira:

Exercise 7

Resolva o exercício Tempo de conclusão de 100 metros rasos.

Acessar exercício

Removendo um item do dicionário#

Assim como em listas, podemos remover um item utilizando o operador del:

Exercise 8

Considere o código a seguir:

port2eng = {'couve': 'kale', 'repolho': 'cabbage', 'brocolis': 'broccoli'}
del port2eng['repolho']
print(port2eng)
Ao testar o código, o que foi impresso no terminal?

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

Resolva o exercício Conta ocorrências de palavras.

Acessar exercício

Exercise 10

Resolva o exercício Média de notas.

Acessar exercício

Exercise 11

Resolva o exercício Vencedor da corrida.

Acessar exercício

Exercise 12

Resolva o exercício Quadro de Medalhas.

Acessar exercício

Exercise 13

Resolva o exercício Inverte dicionário.

Acessar exercício

Exercise 14

Resolva o exercício Atletas por nacionalidade.

Acessar exercício

Exercise 15

Resolva o exercício Checa primos.

Acessar exercício

Exercise 16

Como sempre, se acabar os exercícios deste handout, continue praticando o uso de dicionários com os exercícios disponíveis.