繁体   English   中英

如何在字典中生成字典中所有可能的组合

[英]How to generate all possible combinations in a dictionary in a dictionary

所以我在这样的字典中有一个字典:

{'d': {'c': 3}, 'c': {'d': 3, 'b': 2}, 'b': {'c': 2, 'a': 1}, 'a': {'b': 1}}

我需要 python 代码来给出 output :

("d","c")
("c","d")
("c","b")
("b","c")
("b","a")
("a","b")

我不知道如何做到这一点,并且接受任何帮助。

谢谢

您可以将列表理解与dict.items一起使用:

dct = {'d': {'c': 3}, 'c': {'d': 3, 'b': 2}, 'b': {'c': 2, 'a': 1}, 'a': {'b': 1}}

output = [(key_1, key_2) for key_1, subdct in dct.items() for key_2 in subdct]
print(output) # [('d', 'c'), ('c', 'd'), ('c', 'b'), ('b', 'c'), ('b', 'a'), ('a', 'b')]
x = {'d': {'c': 3}, 'c': {'d': 3, 'b': 2}, 'b': {'c': 2, 'a': 1}, 'a': {'b': 1}}

for i in x.keys():
  for j in x.get(i).keys():
    print((i,j))
dict1 = {'d': {'c': 3}, 'c': {'d': 3, 'b': 2}, 'b': {'c': 2, 'a': 1}, 'a': {'b': 1}}

[(k1,k2) for k1 in dict1.keys() for k2 in dict1[k1].keys()]

暂无
暂无

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

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