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

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']

        }

我怎样才能在蟒蛇身上做到这一点?


三国纷争
浏览 100回答 2
2回答

慕无忌1623718

您可以构建一个包含每对键和值的集合,并从中构建字典条目: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']}

慕哥9229398

以下方法有效: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)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python