parse_edgelist#

parse_edgelist(lines, comments='#', delimiter=None, create_using=None, nodetype=None, data=True)[source]#

解析图的边列表表示形式的行。

Parameters:
lines字符串列表或迭代器

输入数据,格式为边列表

comments字符串, 可选

注释行的标记。默认是 '#' 。要指定没有字符被视为注释,使用 comments=None

delimiter字符串, 可选

节点标签的分隔符。默认是 None ,表示任何空白字符。

create_usingNetworkX 图构造函数, 可选 (默认=nx.Graph)

要创建的图类型。如果是图实例,则在填充前清空。

nodetypePython 类型, 可选

将节点转换为此类型。默认是 None ,表示不进行转换。

data布尔值或 (标签,类型) 元组列表

如果为 False ,则不生成边数据;如果为 True ,则使用字典表示的边数据或指定字典键名和类型的元组列表。

Returns:
G: NetworkX 图

对应于输入行的图

Examples

无数据的边列表:

>>> lines = ["1 2", "2 3", "3 4"]
>>> G = nx.parse_edgelist(lines, nodetype=int)
>>> list(G)
[1, 2, 3, 4]
>>> list(G.edges())
[(1, 2), (2, 3), (3, 4)]

使用字典表示的边列表数据:

>>> lines = ["1 2 {'weight': 3}", "2 3 {'weight': 27}", "3 4 {'weight': 3.0}"]
>>> G = nx.parse_edgelist(lines, nodetype=int)
>>> list(G)
[1, 2, 3, 4]
>>> list(G.edges(data=True))
[(1, 2, {'weight': 3}), (2, 3, {'weight': 27}), (3, 4, {'weight': 3.0})]

使用列表表示的边列表数据:

>>> lines = ["1 2 3", "2 3 27", "3 4 3.0"]
>>> G = nx.parse_edgelist(lines, nodetype=int, data=(("weight", float),))
>>> list(G)
[1, 2, 3, 4]
>>> list(G.edges(data=True))
[(1, 2, {'weight': 3.0}), (2, 3, {'weight': 27.0}), (3, 4, {'weight': 3.0})]