Вы можете использовать defaultdict
из collections
модуля, чтобы сделать это
, например,
from collections import defaultdict
sample_dict = {"1": ['a','b','c'], "2": ['d','e','f'], "3": ['g','h','a']}
d = defaultdict(list)
for keys, vals in sample_dict.items():
for v in vals:
d[v].append(keys)
print(d)
d вернет dict
, где ключи будут значениямикоторые повторяются, и значения будут списком, в котором они были повторены в
Вывод вышеуказанного кода будет defaultdict(list,{'a': ['1', '3'],'b': ['1'],'c': ['1'],'d': ['2'],'e': ['2'],'f': ['2'],'g': ['3'],'h': ['3']})
Хотя возможно получить форму, в которой вы хотели выводбыть в, но это обычно не рекомендуется, потому что мы пытаемся получить, какой символ повторяется в каком списке, это похоже на работу словаря