Pythonを使って3次元配列の組み合わせを求めることについて
Pythonを使って3次元配列の組み合わせを求めることに困っています。
liの番号はそれぞれli1~3に対応しており、結果を表す3次元配列lifinを求めたいです。
start=0
goal=10
li1=[2,3]
li2=[5,7]
li3=[8,9]
li=[[1],[1,2],[2,3],[1,2,3]]
始点(start)は0、終点(goal)は10を表しています。
例えばli[1]=[1,2]ですが、これはstart→li1→li2→goalを表していて,結果として以下の様なものが導出して欲しいです。
[[0,2,5,10],[0,2,7,10],[0,3,5,10],[0,3,7,10]]
最終的に、以下のlifinの様な結果を求めたいです。
lifin=[[[0,2,10],[0,3,10]],
[[0,2,5,10],[0,2,7,10],[0,3,5,10],[0,3,7,10]],
[[0,5,8,10],[0,5,9,10],[0,7,8,10],[0,7,9,10]],
[[0,2,5,8,10],[0,2,5,9,10],[0,2,7,8,10],[0,2,7,9,10],[0,3,5,8,10],[0,3,5,9,10],[0,3,7,8,9,10],[0,3,7,9,10]]]
よろしくお願いします。