再帰関数を使用して、迷路を通る流路を作成しています。関数は正しいパスのタプル (行、列) を返しますが、タプルのリストの形式で必要です。たとえば、このフォームを作成する必要があります
[(0,0),(1,1),(2,2),(3,3),(4,3)]
ただし、関数はこれを返します。
[(0, 0), [(1, 1), [(2, 2), [(3, 3), (4, 3)]]]]
関数は次のとおりです。
def FlowPathAt(fdir,row,col):
lItem = FlowOut(fdir,row,col)
if not lItem:
return (row,col)
else:
r,c = lItem
return [(row,col) , FlowPathAt(fdir,r,c)]
FlowOut(fdir,row,col)
(row,col) から始まる次のセル アドレスを返す関数です。
ビルド中にこのリストを平坦化する方法はありますか?