繁体   English   中英

Python从复杂字典创建子字典

[英]Python create a sub dictionary from a complex dictionary

我在 python 中有一个字典:

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

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

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

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

我觉得你需要一个tuple list

sum([[(x , z) for z in y ]for x ,y in d.items()],[])
[(4, 1), (4, 2), (4, 3), (12, 10), (12, 11)]

你必须以这种格式存储

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

而对于 sub_dictionary { 1 : 4 , 2 : 4 , 3: 4 } 尝试从 'values' 中获取 'keys',即 4

my_key = 4
for key, value in sub_dictionary.items():
    if value == my_key:
        print(key)

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

_set = {} 
for key in dict:
     for value in dict[key]:
         _set.add((key, value))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM