2011-07-19 10 views
1

Iは、本質的にこのようになり、大きなリストを有する単一のリストにタプルのリストのリストを変換:タプル

はsomeList = [[(1,2)させ、等];(2,3)。 [(1,2);(2,3)など];等]

タプルを含むリストを含むリスト。それをすべてのタプルの単一のリストに減らす最善の方法は何ですか?このための組み込み関数があります

+0

注:これは、リストの内容と無関係であるべきです。 – delnan

+0

ええ、内部リストにタプルが含まれているということは無関係です。内部リストには任意のデータ型を含めることができます。 –

答えて

10

List.concat

[[(1,2); (3,4)]; [(5,6); (7,8)] ] |> List.concat 
1
let l = [[(1,2); (3,4)]; [(5,6); (7,8)] ] 
let flattened = List.collect id l // [(1, 2); (3, 4); (5, 6); (7, 8)] 
+0

そのトリックは、どういう意味なのか教えていただけますか?私はちょうどF#、おかげで学んでいます。 –

+0

List.collectのid部分は、 –

+0

という意味で、各要素にid関数を適用し、結果を連結しています。私はそれがLinqのSelectManyに相当すると思います。 – hammett