如何在NetworkX中获取多个节点的合并邻居列表
在NetworkX中获取多个节点的合并邻居
NetworkX 不支持直接用 G[n1, n2] 这种方式批量获取节点邻居,你可以通过遍历目标节点、收集所有邻居后去重的方式实现需求:
方法一:循环遍历收集
import networkx as nx # 假设已构建图 G,目标节点列表为 target_nodes target_nodes = [n1, n2] all_neighbors = [] for node in target_nodes: # G[node] 返回邻接字典,遍历其键即为邻居节点 all_neighbors.extend(G[node]) # 转集合去重后转回列表 unique_neighbors = list(set(all_neighbors))
方法二:集合推导式(简洁写法)
unique_neighbors = list({neighbor for node in target_nodes for neighbor in G[node]})
两种方式都能得到 n1、n2 等节点的合并邻居列表,且自动去除重复项。
内容的提问来源于stack exchange,提问作者Rys
相关产品推荐
相关产品推荐

