通報可能性の重複:
Cartesian productハスケル:リスト
私はHaskellの初心者だと私は問題があります。私は、リストの最初の要素をとり、2番目のリストのすべての要素に接続し、その後に2番目の要素を最初のリストから取り出して同じようにするいくつかの関数を実行したい。 例えば、私が利用したい: [1]、[2]、[3])と[4]、[5]、[6] 出力に
[([1],[4]),([1],[5]),([1],[6]),
([2],[4]),([2],[5]),([2],[6]),
([3],[4]),([3],[5]),([3],[6])]
を取得閉じ私が見つけたのは転位です
transpose [[1,2,3],[4,5,6]]
[[1,4],[2,5],[3,6]]
私は助けていただきたいと思います。
編集: 私には恥があります。私は結果があるソリューション
[[x,y] | x <- [[1],[2],[3]], y <- [[4],[5],[6]]]
が見つかりました:
[[[1],[4]],[[1],[5]],[[1],[6]],[[2],[4]],[[2],[5]],[[2],[6]],[[3],[4]],[[3],[5]],[[3],[6]]]
のように思える:それは私が探していたまさにですhttp://stackoverflow.com/questions/4119730/cartesian-product – Kru
感謝を:) – ahaw