empty_graph#
- empty_graph(n=0, create_using=None, default=<class 'networkx.classes.graph.Graph'>)[source]#
返回具有 n 个节点且无边的空图。
(
Source code
,png
)- Parameters:
- nint 或节点容器(默认 = 0)
如果 n 是整数,则节点来自
range(n)
。 如果 n 是节点容器,则这些节点出现在图中。- create_using图实例、构造函数或 None
指示要返回的图类型的标志。 如果是图类型实例,则清空并使用它。 如果是 None,则使用
default
构造函数。 如果是构造函数,则调用它来创建一个空图。- default图构造函数(可选,默认 = nx.Graph)
如果 create_using 是 None,则使用的构造函数。 如果是 None,则使用 nx.Graph。 当通过未知
create_using
值传递给empty_graph
时使用, 并且您希望默认构造函数不是 nx.Graph。
Notes
变量 create_using 应为图构造函数或类似“图”的对象。构造函数,例如
nx.Graph
或nx.MultiGraph
将用于创建返回的图。类似“图”的对象将被清空(节点和边将被移除)并重新调整为 具有 n 中指定节点的空“图”。此功能对于指定结果空“图”的类性质(即 Graph、DiGraph、MyWeirdGraphClass 等)很有用。变量 create_using 有三个主要用途: 首先,变量 create_using 可用于创建空的有向图、多图等。例如,
>>> n = 10 >>> G = nx.empty_graph(n, create_using=nx.DiGraph)
将创建一个包含 n 个节点的空有向图。
其次,可以通过 create_using 传递现有图(有向图、多图等)。例如,如果 G 是现有图 (或有向图、多图等),则 empty_graph(n, create_using=G) 将清空 G(即删除所有节点和边使用 G.clear()) 然后添加 n 个节点且无边,并返回修改后的图。
第三,在构造自定义图创建函数时,可以使用 empty_graph 通过传递用户定义的 create_using 来构造图。 在这种情况下,如果您希望默认构造函数不是 nx.Graph,请指定
default
。>>> def mygraph(n, create_using=None): ... G = nx.empty_graph(n, create_using, nx.MultiGraph) ... G.add_edges_from([(0, 1), (0, 1)]) ... return G >>> G = mygraph(3) >>> G.is_multigraph() True >>> G = mygraph(3, nx.Graph) >>> G.is_multigraph() False
另请参见 create_empty_copy(G)。
Examples
>>> G = nx.empty_graph(10) >>> G.number_of_nodes() 10 >>> G.number_of_edges() 0 >>> G = nx.empty_graph("ABC") >>> G.number_of_nodes() 3 >>> sorted(G) ['A', 'B', 'C']