Skip to main content

边、顶点和图的 Python 实现

项目描述

https://travis-ci.org/tscizzle/graphpy.svg?branch=master 文件状态 https://coveralls.io/repos/github/tscizzle/graphpy/badge.svg?branch=master https://badge.fury.io/py/graphpy.svg

边、顶点和图的 Python 实现

利用

每个对象有两种类型:UndirectedDirected

首先,导入图形类之一:

from graphpy.graph import UndirectedGraph

并从顶点值字典创建一个图:

# graph with vertices 'v0' and 'v1', with an edge between them

g = UndirectedGraph.from_dict({'v0': [('v1',)],
                               'v1': []})

或从顶点列表和边列表:

g = UndirectedGraph.from_lists([('v0',), ('v1',)],
                               [('v0', 'v1')])

您还可以初始化一个图,然后添加顶点和边:

g = UndirectedGraph()

g.add_vertex('v0')
g.add_vertex('v1')
g.add_edge(('v0', 'v1'))

顶点的 val 可以是任何可散列的对象,如字符串、int、元组等:

# graph with vertices 'v0', 1, and (2, 2), with some edges

g = UndirectedGraph.from_dict({'v0': [(1,)],
                               1: [('v0',), ((2, 2),)],
                               (2, 2): [(1,)]})

检索顶点和边对象:

# v is an UndirectedVertex object, and e is an UndirectedEdge object

v = g.get_vertex('v0')
print v.degree

e = g.get_edge(('v0', 'v1'))
print e.vertices

遍历图的顶点:

for v in g:
    print v

执行图算法,例如搜索:

paths = g.search(start='v0', method='depth_first')
print paths

使用具有您想要的任何属性(例如,边权重)的顶点和边创建图形:

g = UndirectedGraph.from_lists([('v0', {'city': 'Paris'}), ('v1', {'city': 'London'})],
                               [('v0', 'v1', {'weight': 5})])

>从那里,使用图表来模拟情况,实现更多的图表算法,以及任何你想要的。而且,一如既往,玩得开心!

(在https://github.com/tscizzle/graphpy/tree/master/tests在 Github 上找到的测试提供了更多示例并展示了库的其余功能。)

文档

在以下位置查找完整文档: http: //graphpy.readthedocs.org/en/latest

安装

如果您没有 pip,请在以下位置获取 pip:https ://pip.pypa.io/en/stable/installing

在终端中运行命令pip install graphpy以获取 graphpy 库。

要测试您的安装,请在终端中使用python命令启动 Python 解释器,并确保您可以在其中运行import graphpy而不会出现错误。

贡献

在 Github 上找到代码:https ://github.com/tscizzle/graphpy

支持

通过tscizzle @ gmail联系我(Tyler Singer-Clark)com有任何问题或疑虑。

执照

该项目在 MIT 许可下获得许可。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

内置分布

graphpy-1.1.0-py2-none-any.whl (21.0 kB 查看哈希

已上传 py2