小编Fal*_*ard的帖子

Python从图中获取所有路径

我正在尝试找到用户可以通过网站访问的路径。我使用以下格式表示我的图表:

graph = { 0 : [1, 2],
          1 : [3, 6, 0],
          2 : [4, 5, 0],
          3 : [1],
          4 : [6, 2],
          5 : [6, 2],
          6 : [1, 4, 5]}
Run Code Online (Sandbox Code Playgroud)

我已经实现了深度优先算法,但需要对其进行更改才能发挥作用。它需要返回路径,而不仅仅是按其到达节点的顺序返回节点。

visitedList = [[]]
def depthFirst(graph, currentVertex, visited):
    visited.append(currentVertex)
    for vertex in graph[currentVertex]:
        if vertex not in visited:
            depthFirst(graph, vertex, visited)
    return visited

traversal = depthFirst(graph, 0, visitedList)
print('Nodes visited in this order:')
print(visitedList)
Run Code Online (Sandbox Code Playgroud)

该函数返回:

[[], 0, 1, 3, 6, 4, 2, 5]
Run Code Online (Sandbox Code Playgroud)

而我想要这样的东西:

[[0, 1, …
Run Code Online (Sandbox Code Playgroud)

python depth-first-search graph-traversal

7
推荐指数
1
解决办法
1万
查看次数

如果长度超过某个值,则从列表列表中删除元素

这应该是一个容易解决的简单问题。我正在尝试迭代我的嵌套列表并删除低于特定长度的任何列表。

for i in connections:
    if(len(i) >= 3):
        continue
    else:
        connections.remove(i)
Run Code Online (Sandbox Code Playgroud)

这是嵌套列表:

[[55, 35, 19, 1], [2, 78], [3, 78], [6, 78], [], [], [8, 7, 78], [9, 78], [9, 78], [10, 78], [12, 11, 78], [13, 78], [13, 78], [14, 78], [16, 15, 78], [17, 78], [18, 78], [75, 78], [75, 78], [21, 20, 78], [23, 22, 78], [23, 22, 78], [24, 78], [24, 78], [25, 78], [26, 78], [29, 28, 78], [], [30, 78], [30, 78], [31, 78], …
Run Code Online (Sandbox Code Playgroud)

python arrays nested nested-lists

1
推荐指数
1
解决办法
1万
查看次数

来自数据类的字典返回空字典

我是数据类的新手,正在尝试制作一种简单的方法将一个转换为字典,然后我可以从 JSON 文件中保存和加载。在实现应用程序所需的基础结构之前,我正在一个小型数据类上对其进行测试,其中包含我将使用的变量,如下所示:

from dataclasses import dataclass, asdict
@dataclass 
class TestClass:
    def __init__(self, floatA:[float], intA:[int], floatB:[float]):
        self.var1 = floatA
        self.var2 = intA
        self.var3 = floatB

    def ConvertToDict(self):
        return asdict(self)

test = TestClass([0.2,0.1,0.5], [1,2,3], [0.9,0.7,0.6])
print(asdict(test))
print(test.ConvertToDict())
Run Code Online (Sandbox Code Playgroud)

两个打印语句都是一个空字典“{}”,我似乎无法弄清楚为什么

python dictionary python-dataclasses

1
推荐指数
1
解决办法
260
查看次数