-4

我在python中有一本字典:

{4: [1, 2, 3], 12: [10, 11]}

我正在尝试将其转换为以下格式:

{ 4: 1, 4: 2 , 4: 3, 12: 10 , 12:11}

我可以使用循环来做到这一点,但效率太低了。我想知道是否有一种简单的方法可以解决这个问题..有人知道吗?提前致谢。

4

3 回答 3

1

我觉得你需要list一个tuple

sum([[(x , z) for z in y ]for x ,y in d.items()],[])
[(4, 1), (4, 2), (4, 3), (12, 10), (12, 11)]
于 2019-07-27T17:03:50.973 回答
1

你必须以这种格式存储

{4:{1:4、2:4、3:4}、12:{10:12、11:12}}

对于 sub_dictionary { 1 : 4 , 2 : 4 , 3: 4 } 尝试从 4

my_key = 4
for key, value in sub_dictionary.items():
    if value == my_key:
        print(key)
于 2019-07-27T17:24:42.637 回答
0

尝试这样的事情(未经测试)

_set = {} 
for key in dict:
     for value in dict[key]:
         _set.add((key, value))
于 2019-07-27T17:06:07.283 回答