有沒有一種使用python查找所有連接節點的簡單方法?

自由
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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

有沒有一種簡單的方法可以在 python 中返回字典列表

我找不到一種方法來連接網格的所有點以形成三角形,而沒有任何交叉

有沒有一種在單個查詢中內連接符號的快速方法?

有沒有一種簡單的方法來計算 Rust 中的布爾值?

有沒有一種簡單的方法可以在python中為整個數據集計算3D空間中兩點的距離?

有沒有一種簡單的方法可以在 ggplot2 中單獨調整文本標籤?

有沒有一種簡單的方法可以在 KQL 中打印一些變量?

有沒有一種簡單的方法可以在熊貓框架中跨行選擇以創建新列?

有沒有一種簡單的方法可以只使用 Django Rest Framework 的 ModelSerializer 序列化非空字段?

如何獲取所有沒有子元素的唯一 XML 節點?

有沒有一種簡單的方法可以在基數 R 中將繪圖軸十進制指示器從點更改為逗號?

有沒有一種簡單的方法可以將彈出窗口更改為模態(對 JS 代碼的更改最少)

如何在python中使用BFS獲取所有節點的所有鄰居

如何從特定節點打印所有節點

如何在簡單的 HTML + CSS 上僅使用 Vanilla JS 創建連續調用的多個進度條(一個接一個)?沒有設置超時

有沒有一種方法可以順序執行 python 代碼並使用少量變量?

swi-ProLog 查找所有可能到達特定結束節點的起始節點

沒有鍵連接的查詢查找表

沒有選擇的抓取節點(Cytoscape.js)

圖形對像沒有屬性節點

有沒有一種有效的方法可以從 JavaScript 中的數組中獲取某種類型的所有值?

有沒有更簡單的方法可以在 python 中以特定基數顯示數字數組?

有沒有更簡單的方法來組合多個 if 語句在 javascript 中使用數組

具有自動縮放 GKE 節點的 GCP SQL 實例連接

有沒有更簡單的方法來從類中引用 Javascript 類方法?

有沒有更簡單的方法在 Go 中創建數組

有沒有更簡單的方法從 groupby 獲取對象並放入字典?

有沒有更簡單/通用的方法來實現這個 switch 語句?

有什麼方法可以使用 MPI 推斷同一節點上有多少工人?