私はいくつかの経路発見アルゴリズムを研究しています。以下のスニペットは、目標から開始までの経路にノードの配列を作ることになっています。ゴールからスタートまでのパスがある場合はうまく動作します。しかし、最初から最後までのパスがない場合、whileループは決して実行されず、結果は[]
(これは正しい)として返されます。なぜ、空のリストが返されるとNoneTypeになるのですか?
<ipython-input-14-ca3cb26b31ce> in bidirectional_search(graph, start, goal, searchMethod)
46 start_path = path(center, pathBack_start).reverse()
47 goal_path = path(center, pathBack_goal)
---> 48 return start_path + [center] + goal_path
49
50
TypeError: can only concatenate list (not "NoneType") to list
または、コピーコストは構文ベースのスライスの安っぽさによって相殺されているので(メソッド呼び出しの高コストと比較して)、あなたはそれをワンライナーを保つことができます'start_path = path(center、pathBack_start)[:: - 1]'で ' – ShadowRanger
私はそれを忘れてしまったと感じます。ありがとう –