Je reçois un dictionnaire en entrée et je souhaite renvoyer une liste de clés pour lesquelles les valeurs du dictionnaire sont uniques dans la portée de ce dictionnaire.Python: trouver des clés avec des valeurs uniques dans un dictionnaire?
Je vais clarifier avec un exemple. Dire que mon entrée est le dictionnaire a, construit comme suit:
a = dict()
a['cat'] = 1
a['fish'] = 1
a['dog'] = 2 # <-- unique
a['bat'] = 3
a['aardvark'] = 3
a['snake'] = 4 # <-- unique
a['wallaby'] = 5
a['badger'] = 5
Le résultat est que j'attends ['dog', 'snake']
.
Il existe des moyens de force brute évidents pour y parvenir, mais je me demandais s'il y avait une manière propre Pythonian pour faire le travail.
Ce serait plus joli avec collections.defaultdict (int), IMO –
oui, mais je le laisserais pour que les gens sachent ce que nous faisons quand il n'y a pas de defaultdicts –
WASTEFUL: fait 'pour k, v dans a.iteritems (): 'mais n'utilise pas k !!! –