我想用[Int]
压缩[[String]]
,以便获得[[(Int, String)]]
。
一个例子:
[1,2,3] and
[[a,b,c],[d,e,f]] becomes
[[(1,a),(2,b),(3,c)],[(1,d),(2,e),(3,f)]]
我怎么能这样做?我用地图尝试过一些东西,但没有成功。
答案 0 :(得分:2)
您需要映射字符串列表并使用每个字符串压缩整个列表。
Prelude> myzip ints strings = map (zip ints) strings
Prelude> myzip [1,2,3] [["a", "b", "c"], ["d", "e", "f"]]
[[(1,"a"),(2,"b"),(3,"c")],[(1,"d"),(2,"e"),(3,"f")]]
使用currying,可以缩短为
myzip ints = map (zip ints)
然后可以使用组合缩短为以下内容:
myzip = map . zip