parse_edgelist#

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

解析二分图的边列表表示的行。

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

以边列表格式输入的数据

comments字符串, 可选

注释行的标记

delimiter字符串, 可选

节点标签的分隔符

create_using: NetworkX 图容器, 可选

使用给定的 NetworkX 图来保存节点或边。

nodetypePython 类型, 可选

将节点转换为此类型。

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

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

Returns:
G: NetworkX 图

对应于 lines 的二分图

Examples

无数据的边列表:

>>> from networkx.algorithms import bipartite
>>> lines = ["1 2", "2 3", "3 4"]
>>> G = bipartite.parse_edgelist(lines, nodetype=int)
>>> sorted(G.nodes())
[1, 2, 3, 4]
>>> sorted(G.nodes(data=True))
[(1, {'bipartite': 0}), (2, {'bipartite': 0}), (3, {'bipartite': 0}), (4, {'bipartite': 1})]
>>> sorted(G.edges())
[(1, 2), (2, 3), (3, 4)]

以 Python 字典表示的边列表数据:

>>> lines = ["1 2 {'weight':3}", "2 3 {'weight':27}", "3 4 {'weight':3.0}"]
>>> G = bipartite.parse_edgelist(lines, nodetype=int)
>>> sorted(G.nodes())
[1, 2, 3, 4]
>>> sorted(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 = bipartite.parse_edgelist(lines, nodetype=int, data=(("weight", float),))
>>> sorted(G.nodes())
[1, 2, 3, 4]
>>> sorted(G.edges(data=True))
[(1, 2, {'weight': 3.0}), (2, 3, {'weight': 27.0}), (3, 4, {'weight': 3.0})]