01.
def
inverte(dicio):
02.
"""inverte um dicionario, i.e., as chaves passa a ser os valores e os
03.
valores as chaves
04.
"""
05.
aux
=
{}
06.
for
key,value
in
dicio.items():
07.
if
not
aux.has_key(value):
08.
aux[value]
=
[]
09.
aux[value].append(key)
10.
return
aux
Como se pode ver, cá reaparece o velho padrão: varrer o dicionários pelos seus elementos, e ir adicionando por etapas os elementos relevantes a um acumulador (aux). Como podemos ter agora diferentes valores para uma mesma chave, esse facto resolve-se colocando no campo valor uma lista. O teste if serve para distinguir os casos em que não existe ainda nenhum valor, das situações em que já há algo.
Sem comentários:
Enviar um comentário