networkx find_negative_cycle 参数

networkx find_negative_cycle parameters

我应该将什么作为源参数传递给 python networkx 模块的 find_negative_cycle() 方法?在 documentation 它说要传递一个列表,但是当我尝试这样做时,我得到错误:

TypeError: unhashable type: 'list'

您也可以尝试修改函数本身

https://github.com/networkx/networkx/blob/main/networkx/algorithms/shortest_paths/weighted.py#L2191

find_negative_cycle 行 2191

pred = {source: []}
v = _inner_bellman_ford(G, [source], weight, pred=pred)

pred = {v: [] for v in sources}
v = _inner_bellman_ford(G, source, weight, pred=pred)

如果 source 是一个列表。 我认为应该报告此问题

你能试试这个吗:

def get_sequence_upto(x):
    for i in range(x):
        yield i
        
source = get_sequence_upto([1,2,3])

find_negative_cycle(G, source )

其中 [1,2,3] 应该是您的来源列表

文档中有错误。它应该在 2.8.1 版本中修复 https://github.com/networkx/networkx/issues/5610#event-6575071112