在Haskell中逐个元素地相乘两个列表

时间:2009-05-04 09:26:47

标签: haskell list

如何在Haskell中将两个列表的元素相乘,两个一个? 基本上如果我有[1,2,3]和[2,3,4]我想得到[2,6,12]。

1 个答案:

答案 0 :(得分:36)

zipWith (*) [1,2,3] [2,3,4]

查找zipWith等函数的有用方法是Hoogle。在那里,您可以输入您正在寻找的函数的类型,它将尝试在标准库中查找匹配的函数。

在这种情况下,您正在寻找一个函数,使用组合函数Int将两个Int列表合并到一个(*)列表中,这样就是您的查询: (Int -> Int -> Int) -> [Int] -> [Int] -> [Int]。如果您更改参数的顺序,Hoogle甚至会找到正确的函数。