795 B
795 B
title, type, tags, cover, dateModified
| title | type | tags | cover | dateModified | |
|---|---|---|---|---|---|
| Invert dictionary | snippet |
|
working-bee | 2020-11-02T19:27:07+02:00 |
Inverts a dictionary with non-unique hashable values.
- Create a
collections.defaultdictwithlistas the default value for each key. - Use
dictionary.items()in combination with a loop to map the values of the dictionary to keys usingdict.append(). - Use
dict()to convert thecollections.defaultdictto a regular dictionary.
from collections import defaultdict
def collect_dictionary(obj):
inv_obj = defaultdict(list)
for key, value in obj.items():
inv_obj[value].append(key)
return dict(inv_obj)
ages = {
'Peter': 10,
'Isabel': 10,
'Anna': 9,
}
collect_dictionary(ages) # { 10: ['Peter', 'Isabel'], 9: ['Anna'] }