Python 将列表转换为图形?

Python 将列表转换为图形?,python,list,python-2.7,graph,Python,List,Python 2.7,Graph,假设我有一个布尔值的2D列表,例如: [[False, True , False], [True, False, False]] 是否可以将其转换为图形,以便列表中所有相邻的VAL相互连接?邻接意味着仅仅是另一个值,或者直接相邻,或者在上面/下面,或者彼此相隔一个对角线空间。我正在研究一个我认为用图表更容易完成的问题,但我的输入是一个列表,我想知道是否有这样做的方法?你所说的“转换为图表”到底是什么意思 一种可能性是创建一个表示图形的结构。我建议你阅读这个问题的答案: 然后,创建正确的连接并

假设我有一个布尔值的2D列表,例如:

[[False, True , False],
 [True, False, False]]

是否可以将其转换为图形,以便列表中所有相邻的VAL相互连接?邻接意味着仅仅是另一个值,或者直接相邻,或者在上面/下面,或者彼此相隔一个对角线空间。我正在研究一个我认为用图表更容易完成的问题,但我的输入是一个列表,我想知道是否有这样做的方法?

你所说的“转换为图表”到底是什么意思

一种可能性是创建一个表示图形的结构。我建议你阅读这个问题的答案:

然后,创建正确的连接并创建图形

此代码假定所有子列表的长度相等,并且图形是无向的

def getConnections(input_list):
    connections = []
    directions = [(-1,-1),(0,-1),(1,-1),(1,0)]
    for i in range(0,len(input_list)):
        for j in range(0,len(input_list[0])):
            for x,y in directions:
                if (i+y >= 0 and i+y < len(input_list) and j+x >= 0 and j+x < len(input_list))
                    pair = (input_list[i][j], input_list[i+y][j+x])
                    connections.append(pair)
    return connections

myList = [[False, True , False], [True, False, False]]
connections = getConnections(myList)
myGraph = new Graph(connections, directed = false)
def getConnections(输入列表):
连接=[]
方向=[(-1,-1)、(0,-1)、(1,-1)、(1,0)]
对于范围(0,len(输入列表))中的i:
对于范围内的j(0,len(输入列表[0]):
对于x,y方向:
如果(i+y>=0和i+y=0和j+x
更加精确(如果网格中的邻接是特征,那么真/假是什么意思?什么样的邻接=有多少个邻居?)@sascha很抱歉,真值和假值是无关的,这只是一个随机的例子。我的意思是下一步做两件事,上/下,或是斜交,当然这是可能的。这甚至不难。问题在哪里?实现一个
get_neighbor(x,y)
函数,迭代所有节点,向邻居添加边。不确定,您想要什么样的图形。哪个图书馆,定向/无定向等等…谢谢!那个链接正是我想要的。我主要是C++程序员,所以我不知道如何问这个问题,直到我读到你的回答。非常感谢。