A = ['node1', 'node2', 'node3', 'node4', 'node5'] #nodes
B = {'node1':'node2', 'node3':'node4', 'node4':'node5'} #connections
C = [['node1', 'node2'], ['node3', 'node4', 'node5']] #wanted result
我希望所有節點都相互連接;當輸入為 A、B 時,我想要 C。
def demo(A, B):
# code
return C
我嘗試了複雜的方法來獲得想要的結果,但沒有成功。我希望有人能幫助我解決這個問題。
試試這個代碼
只需循環到字典中並將鍵值對轉換為列表
並將它們合併在一個單獨的循環中
代碼:
B1 = {'node1':'node2', 'node3':'node4', 'node4':'node5'}
B2 = {'node1':'node2', 'node3':'node4', 'node4':'node5', 'node5':'node6'}
def nodes_to_list(_dict):
res = sorted([[i, j] for i, j in _dict.items()])
for index1, i in enumerate(res):
for index2, j in enumerate(res):
if index1 != index2:
if any(a in j for a in i):
res[index1] = sorted(set(i+j))
del res[index2]
return res
print(nodes_to_list(B1))
print(nodes_to_list(B2))
輸出:
[['node1', 'node2'], ['node3', 'node4', 'node5']]
[['node1', 'node2'], ['node3', 'node4', 'node5', 'node6']]
告訴我它是否不起作用...
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句