为了账号安全,请及时绑定邮箱和手机立即绑定

将键与 python 中的字典值组合在一起

将键与 python 中的字典值组合在一起

三国纷争 2022-09-27 10:47:22
A 有一个字典,如下所示。dict1 = {          'a':['b','c'],          'd':['e','f']        }我想将键与值组合在一起(如果值在键中)。因此,输出将如下所示:dict1 = {         'a':['b','c'],         'b':['a','c'],         'c':['a','b'],         'd':['e','f'],         'e':['d','f'],         'f':['d','e']        }我怎样才能在蟒蛇身上做到这一点?
查看完整描述

2 回答

?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

您可以构建一个包含每对键和值的集合,并从中构建字典条目:


dict1 = {

          'a':['b','c'],

          'd':['e','f']

        }


sets = [set([key]) | set(values) for key, values in dict1.items() ]

# [{'a', 'b', 'c'}, {'f', 'd', 'e'}]


out = {}

for s in sets:

    for key in s:

        out[key] = list(s-set([key]))

print(out)

输出:


{'a': ['b', 'c'], 'b': ['a', 'c'], 'c': ['a', 'b'],

 'f': ['d', 'e'], 'd': ['f', 'e'], 'e': ['f', 'd']}


查看完整回答
反对 回复 2022-09-27
?
慕哥9229398

TA贡献1877条经验 获得超6个赞

以下方法有效:


dict1 = {

          'a':['b','c'],

          'd':['e','f']

        }


dict2 = { }


for k, v in dict1.items():

    for x in v:

        v_copy = v[:]

        v_copy.remove(x)

        dict2.update({x: [k] + v_copy})



dict1.update(dict2)



print(dict1)


查看完整回答
反对 回复 2022-09-27
  • 2 回答
  • 0 关注
  • 99 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信