OCamlのリスト探索

[code]

    let ls = [[1;2;3];[4;5;6];[7;8;9]];;
    
[/code]

といったint listリストの中から、特定の値が入っているリストが欲しい時、どのような操作を行えば良いでしょうか。




[`List`モジュール](http://ocaml.jp/refman/libref/List.html)にある関数のうち、条件を満たす要素のみ取り出す`filter`関数と、条件を満たす要素が少なくとも一つ存在するか調べる`exists`関数を使って次のように書くことができます。

[code]

    (* 5を含むリストを探す例 *)
    # List.(filter (fun l -> exists (fun x -> x = 5) l) ls);;
    
[/code]

