Python – 与字典中的值关联的键
有时,在使用Python字典时,我们可能会遇到需要修改字典的问题,即所有值都指向它们所属的键。此类问题可能发生在许多领域,包括 Web 开发和数据领域。让我们讨论可以执行此任务的特定方式。
Input : test_dict = {‘abc’ : [10, 30], ‘bcd’ : [30, 40, 10]}
Output : {10: [‘abc’, ‘bcd’], 30: [‘abc’, ‘bcd’], 40: [‘bcd’]}
Input : test_dict = {‘gfg’ : [1, 2, 3], ‘is’ : [1, 4], ‘best’ : [4, 2]}
Output : {1: [‘is’, ‘gfg’], 2: [‘gfg’, ‘best’], 3: [‘gfg’], 4: [‘is’, ‘best’]}
方法:使用defaultdict()
+ 循环
以上功能的组合可以解决这个问题。在此,我们创建 list 的 defaultdict 并通过使用蛮力方法检查外观内的关联来插入元素。
# Python3 code to demonstrate working of
# Values Associated Keys
# Using defaultdict() + loop
from collections import defaultdict
# initializing dictionary
test_dict = {'gfg' : [1, 2, 3], 'is' : [1, 4], 'best' : [4, 2]}
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
# Values Associated Keys
# Using defaultdict() + loop
res = defaultdict(list)
for key, val in test_dict.items():
for ele in val:
res[ele].append(key)
# printing result
print("The values associated dictionary : " + str(dict(res)))
输出 :
The original dictionary is : {'is': [1, 4], 'gfg': [1, 2, 3], 'best': [4, 2]}
The values associated dictionary : {1: ['is', 'gfg'], 2: ['gfg', 'best'], 3: ['gfg'], 4: ['is', 'best']}