Skip to main content
 首页 » 编程设计

nodes中网络中在一个节点和一系列节点之间创建边

2025年05月04日116haluo1

我是 networkx 的新手,不知道如何读取我的特定数据格式。

我有一些看起来像(节点,它连接到的节点列表)的数据,如下所示:

('person 1', 'person 2, person 3, person 4') 

我想添加边缘,使它们看起来像这样:

('person 1', 'person 2') 
('person 1', 'person 3') 
('person 1', 'person 4') 

有没有办法指定第一个节点,并迭代列表以获取其余节点?在我的 csv 文件中,一列是主节点,第二列是它连接到的节点列表,但我一生都无法弄清楚如何一次添加它们。

请您参考如下方法:

虽然没有内置方法,但您可以使用 Python 切片和列表理解将它们添加到一行中。

import networkx as nx 
 
G = nx.Graph() 
nodes = list("ABCD") 
G.add_nodes_from(nodes) 
G.add_edges_from([(nodes[0],node) for node in nodes[1:]]) 

nodes[1:] 是一个列表,其中第一项被跳过