def _node_product(G, H, label_threshold=None):
for u, v in product(G, H):
attrs = _dict_product(G.node[u], H.node[v])
if label_threshold is not None:
G_labels = nx.get_node_attributes(G, 'label')
H_labels = nx.get_node_attributes(H, 'label')
if abs(G_labels[u] - H_labels[v]) < label_threshold:
new_label = G_labels[u] * H_labels[v]
attrs['label'] = new_label
yield ((u, v), attrs)
else:
yield ((u, v), attrs)
评论列表
文章目录