gpt4 book ai didi

python - 将 python 中的键与字典中的值进行匹配

转载 作者:行者123 更新时间:2023-12-01 04:24:58 25 4
gpt4 key购买 nike

例如,这是我的字典:

my_dict= {"0" : {"1","2","3"},"1":{"2"},"2":{"3"}}

我想在每个实例中将这些值和键配对在一起。将每个键添加到相应的值键中以形成对的最有效方法是什么。抱歉,如果我的措辞过于困惑。本质上,我希望它成为:

my_dict={"0" : {"1","2","3"}, "1" : {"0","2"}, "2" : {"0","1","3"}, "3" : {"0","2"}}

这样,每个数字都以键和值的形式配对。如果仍然不清楚我要问什么,请告诉我,我会尽力解释得更清楚。

我可以尝试解释它的另一种方法是将我当前的字典想象为有向图中的匹配,并且我想将其转换为在无向图中显示匹配。

最佳答案

您可以使用 collections.defaultdict 为了这 。示例-

from collections import defaultdict
result = defaultdict(set)
for key,value in my_dict.items():
result[key].update(value)
for elem in value:
result[elem].add(key)

在这里您创建一个defaultdict值为 set ,然后对于原始字典中的每个键,更新 result 中的相同键。默认字典。然后迭代 value (set) 中的每个元素,添加 key作为 result 中元素的值默认字典。

演示 -

>>> my_dict= {"0" : {"1","2","3"},"1":{"2"},"2":{"3"}}
>>> from collections import defaultdict
>>> from collections import defaultdict
>>> result = defaultdict(set)
>>> for key,value in my_dict.items():
... result[key].update(value)
... for elem in value:
... result[elem].add(key)
...
>>> pprint.pprint(result)
{'0': {'1', '2', '3'},
'1': {'2', '0'},
'2': {'0', '1', '3'},
'3': {'2', '0'}}

关于python - 将 python 中的键与字典中的值进行匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33260607/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com