Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何基于“创建一组相邻节点”;从「;及;至;弧数据_Python_Network Programming_Set_Neighbours - Fatal编程技术网

Python 如何基于“创建一组相邻节点”;从「;及;至;弧数据

Python 如何基于“创建一组相邻节点”;从「;及;至;弧数据,python,network-programming,set,neighbours,Python,Network Programming,Set,Neighbours,假设您有一组节点(1,2,3),这些节点通过弧(1,2)、(1,3)和(2,3)连接。一起代表一个网络 如何创建包含所有相邻节点的节点子集?i、 e.我不希望以下子集类似: NeighborNode 1 2 3 2 1 3 3 1 2 这段Python代码还很遥远,但您可能会想到: def NNode_rule(model,i): for i in model.Nodes: model.NNodes[i].add(model.ToNode[i]) if model.Nodes[i]=

假设您有一组节点(1,2,3),这些节点通过弧(1,2)、(1,3)和(2,3)连接。一起代表一个网络

如何创建包含所有相邻节点的节点子集?i、 e.我不希望以下子集类似:

NeighborNode
1 2 3
2 1 3
3 1 2 
这段Python代码还很遥远,但您可能会想到:

def NNode_rule(model,i):
for i in model.Nodes:
    model.NNodes[i].add(model.ToNode[i]) if model.Nodes[i]==model.FromNode[i]
model.NNodes = Set(model.Nodes, initialize=NNode_rule)

你知道什么是面向对象编程吗

我认为最简单的解决方案是创建一个简单的类(例如Node),该类有一个属性neights,它是其他节点的列表

您还需要在两个节点之间添加边的方法,如下所示:

def add_edge(self, other_node):
    self.neighbors.append(other_node)
    other_node.neighbors.append(self)
然后,每个节点都保存其相邻节点的信息

希望这有帮助;)