我想根据一个简单网络中节点之间的模型值对一系列字典键进行分组,似乎递归函数可以工作,但我没有任何运气。你知道吗
下面是一个简化的表格:
ID fromNode toNode
a 1 2
b 2 3
c 3 4
d 5 6
e 6 7
f 7 8
从中我创建了字典:
dict = {'a':(1,2), 'b':(2,3), 'c':(3,4), 'd':(5,6), 'e':(6,7), 'f':(7,8)}
函数结果应类似于以下列表:
list = (('a','b','c'),('d','e','f'))
因为“a”指向“b”,而“b”指向“c”,依此类推。你知道吗
(PS我想不用图论就能解决这个问题。)
如果我理解正确的话,您需要从字典表示中获取所有断开连接的图。你知道吗
上面的代码可能有用。你知道吗
上面的代码,虽然不是所有的id都登记了,但是从dic获取一个id并检查它是否能找到另一个节点:如果是,它们形成一个列表并搜索下一个节点;否则它本身形成一个列表。然后,它检查已经形成的列表是否被拆分。例如,对于{“a”:(1,2),“b”:(2,3)},在这个阶段,代码将产生[[“a”],[“b”]]。代码检测情况并将它们合并到[[“a”,“b”]]。最后,代码将列表转换为元组并返回。你知道吗
另外,代码可能包含错误。如果你找到了,请指出。你知道吗
相关问题 更多 >
编程相关推荐