在Haskell中压缩2D列表

Luk*_*ins 2 haskell list

我想使用zip在Haskell中组合两个二维列表,即实现这样的事情

[[1,2,3],           [[10, 11, 12],         [[(1, 10), (2, 11), (3, 12)],
 [4,5,6],   `zip'`   [13, 14, 15],   ->     [(4, 13), (5, 14), (6, 15)],
 [7,8,9]]            [16, 17, 18]]          [(7, 16), (8, 17), (9, 18)]]
Run Code Online (Sandbox Code Playgroud)

不使用Prelude之外的任何功能.有没有办法可以这样做,map或许使用?问题是一个人不能map zip超过两个列表.

lef*_*out 5

zip' = zipWith zip
Run Code Online (Sandbox Code Playgroud)

不错,不是吗?