Otrzymuję słownik jako dane wejściowe i chcę zwrócić listę kluczy, dla których wartości słownika są unikalne w zakresie tego słownika.Python: znajdowanie kluczy z unikalnymi wartościami w słowniku?
Wyjaśnię na przykładzie. Powiedzieć, że moje wejście jest słownika a, skonstruowany w następujący sposób:
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
Wynik Spodziewam jest ['dog', 'snake']
.
Istnieją oczywiste sposoby, aby osiągnąć ten cel, jednak zastanawiałem się, czy istnieje czysty sposób Pythonian, aby wykonać zadanie.
Byłoby ładniej z collections.defaultdict (int), IMO –
tak, ale chciałbym zostawić to tak, aby ludzie wiedzieli, co robimy, gdy nie było defaultdicts –
WASTEFUL: robi 'dla k, v w a.iteritems (): 'ale nie używa k !!! –