重複の可能性:
デカルト積
私は 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]]]