在python中合并3个dict()

在python中合并3个dict(),第1张

概述如果它们之间有共同的字符串,是否有一种逻辑合并多个字典的方法?即使这些常见字符串在一个dict()的值与另一个的键之间匹配? 我在SO上看到很多类似的问题,但似乎没有解决我将“低级文件”中的多个键与高键/值中的多个键相关联的具体问题(level1dict) 说我们有: level1dict = { '1':[1,3], '2':2 }level2dict = { '1':4, '3':[5,9] 如果它们之间有共同的字符串,是否有一种逻辑合并多个字典的方法?即使这些常见字符串在一个dict()的值与另一个的键之间匹配?

我在SO上看到很多类似的问题,但似乎没有解决我将“低级文件”中的多个键与高键/值中的多个键相关联的具体问题(level1dict)

说我们有:

level1dict = { '1':[1,3],'2':2 }level2dict = { '1':4,'3':[5,9],'2':10 }level3dict = { '1':[6,8,11],'4':12,'2':13,'3':[14,15],'5':16,'9':17,'10':[18,19,20]}finaldict = level1dict

当我逻辑地说我的意思是,在level1dict 1 = 1,3并且在level2dict 1 = 4和3 = 5,9所以整体(到目前为止)1 = 1,3,4,5,9(排序不重要)

我想得到的结果是

#.update or .append or .default?finaldict = {'1':[1,9,6,11,12,14,15,16,17] '2':[2,10,18,20]}

回答:谢谢Ashwini Chaudhary和Abhijit的networkx模块.

解决方法 这是连接组件子图的问题,如果您想使用 networkx,可以最好地确定.这是您的问题的解决方案

>>> import networkx as nx>>> level1dict = { '1':[1,'2':2 }>>> level2dict = { '1':4,'2':10 }>>> level3dict = { '1':[6,20]}>>> G=nx.Graph()>>> for lvl in level:    for key,value in lvl.items():        key = int(key)        try:            for node in value:                G.add_edge(key,node)        except TypeError:            G.add_edge(key,value)>>> for sg in nx.connected_component_subgraphs(G):    print sg.nodes()[1,17][2,13,20]>>>

这是你如何想象它

>>> import matplotlib.pyplot as plt>>> nx.draw(G)>>> plt.show()
总结

以上是内存溢出为你收集整理的在python中合并3个dict()全部内容,希望文章能够帮你解决在python中合并3个dict()所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1194875.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存