繁体   English   中英

从矩阵python形成边缘列表

[英]Form a edge list from a matrix-python

我有一个矩阵,如下所示:

Matrix = [[0,0,1],
          [1,0,1],
          [0,1,0]]

我想形成一个如下的边列表:

Edge_list = {0: [2],
             1: [0, 2],
             2: [1]}

Edge_list中的第一列表示节点,接下来的列表示其具有edge(矩阵值为1)的节点。

任何帮助将不胜感激。

使用dict理解和带有enumerate 列表理解

>>> matrix = [
...     [0,0,1],
...     [1,0,1],
...     [0,1,0],
... ]
>>>
>>> {i: [j for j, x in enumerate(row) if x] for i, row in enumerate(matrix)}
{0: [2], 1: [0, 2], 2: [1]}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM