如何在Haskell中将两个列表的元素相乘,两个一个? 基本上如果我有[1,2,3]和[2,3,4]我想得到[2,6,12]。
答案 0 :(得分:36)
zipWith (*) [1,2,3] [2,3,4]
查找zipWith
等函数的有用方法是Hoogle。在那里,您可以输入您正在寻找的函数的类型,它将尝试在标准库中查找匹配的函数。
在这种情况下,您正在寻找一个函数,使用组合函数Int
将两个Int
列表合并到一个(*)
列表中,这样就是您的查询: (Int -> Int -> Int) -> [Int] -> [Int] -> [Int]。如果您更改参数的顺序,Hoogle甚至会找到正确的函数。