2011-07-12 12 views
3

私はプロローグする初心者です、私はこのようなものですリストを平らにしようとしています:リスト変換

X = [[[0,0,1],[1,0,2]],[[0,1,3],[0,2,2]],[[0,3,5],[0,4,4]],[[0,5,4],[0,6,5]]] 

所望の出力は次のようになります。

X = [[0,0,1],[1,0,2],[0,1,3],[0,2,2],[0,3,5],[0,4,4],[0,5,4],[0,6,5]] 

私はこれをどのように行うことができますか?

myflatten([], []). 
myflatten([[A, B]|T], [A|[B|FlattenedT]]) :- myflatten(T, FlattenedT). 

:-)

答えて

1

使用再帰そして、クエリ:?

- myflatten([[[0,0,1]、[1,0,2]]、[[0 、[1,3]、[0,2,2]]、[[0,3,5]、[0,4,4]]、[[0,5,4]、[0,6,5]] ]、 バツ)。

+0

それは動作します!ニース..あなたの助けをありがとう。 – Josh

+0

これは簡単な経験則です:プログラム中で '| ['が見えるときはいつでも、それを '、'で置き換えることができます。 myflattenの頭にある2番目の引数は、[A | [B | FlattenedT]]の代わりに '[A、B | FlattenedT]'を読むことができます。 – false

関連する問題