在python中使用networkx创建树数据

Dee*_*k B 6 python networkx python-2.7

我正在尝试创建一个具有1111个节点的树,并且组织为节点1有10个子节点(2到11),节点2有10个子节点(12到21)等等...这样每个节点有10个子节点在根级别具有1个节点,具有10个子节点,每个子节点具有10个子节点,并且这100个节点中的每一个具有10个子节点,每个节点具有1000个叶节点.节点总数为1111.

import networkx as nx
G = nx.Graph()
L1 = [1]
L2 = [x for x in range(2,12)]
L3 = [x for x in range(12,112)]
L4 = [x for x in range(112,1112)]

G.add_node(1)
G.add_nodes_from(L1)
G.add_nodes_from(L2)
G.add_nodes_from(L3)
G.add_nodes_from(L4)
Run Code Online (Sandbox Code Playgroud)

现在我想添加边缘,使用G.add_edges_from([(x,y) for x in L1 for y in L2])哪个可以用于第一级但是如何为其他级别执行此操作?

The*_*eke 6

您可以在一行中"开箱即用"地获得所需的结果:

import networkx as nx

G = nx.balanced_tree(10,10)
Run Code Online (Sandbox Code Playgroud)