dev*_*ium 1 haskell functional-programming
我有2个清单:
[[1,2],[4,5]]
Run Code Online (Sandbox Code Playgroud)
和
[0, 3]
Run Code Online (Sandbox Code Playgroud)
而且我想把它变成
[[0,1,2],[3,4,5]]
Run Code Online (Sandbox Code Playgroud)
我已经创建了一个功能:
myFun xxs xs = map (\x -> (fst x):(snd x)) (zip xs xxs)
Run Code Online (Sandbox Code Playgroud)
它的工作原理.但我仍然想知道是否有更好的方法可以在不使用拉链的情况下实现这一目标.有没有?
基本上我想要做的就是同时沿着2个列表迭代,这是我无法想到在Haskell中不用求助于拉链的方法.
谢谢
使用zipWith.例如:
zipWith (:) [0,3] [[1,2],[4,5]]
Run Code Online (Sandbox Code Playgroud)
得到:
[[0,1,2],[3,4,5]]
Run Code Online (Sandbox Code Playgroud)
为什么拉链不是一个选项?
或者我应该说,zipWith.
zipWith (\x y -> x:y) xs xxs
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1983 次 |
| 最近记录: |