作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个包含节点的字典:
supernodes = list(nx.connected_components(G1))
print(supernodes)
的结果是:
[{1, 2, 3, 5}, {8, 6}, {7, 9, 10, 12, 13}, {4}, {11}, {14}, {15}]
如何将每个列表合并到一个节点?我找到了这个函数 nx.contracted_nodes(G, (1, 3))
但我怎样才能把 {1,2,3,5}, {8,6}
等并创建 7 个契约节点?
最佳答案
你可以试试这个:
import networkx as nx
# Preamble, define G1
# contract nodes
for supernode in nx.connected_components(G1):
nodes = sorted(list(supernode))
for node in nodes[1:]:
G1 = nx.contracted_nodes(G1, nodes[0], node)
G1
中的每个节点 x 对应于以 x 为较小元素的超节点。如果您想删除自循环,请改为编写 nx.contracted_nodes(G1, nodes[0], node, self_loops=False)
。
关于python - 承包 networkx 中的节点列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47501336/
如何收缩 2 列,即将 2 列替换为 1 列? 例如: | column a | column b | INTO | column c | ---------------------
我有一个包含节点的字典: supernodes = list(nx.connected_components(G1)) print(supernodes) 的结果是: [{1, 2, 3, 5}, {
我是一名优秀的程序员,十分优秀!