如何从对列表中将每个对的两个元素相乘-Haskell

布热斯科夫斯基

我想做一个函数,该函数从成对列表中返回每对成对元素的列表。例如:

>product [1,2] [3,4]
[3,8]

我想使用list comprehension我尝试过这样的事情:

product :: Num a => [a] -> [a] -> [a]
product xs ys = [x*y | z<-zip xs ys, (x, _)<-z, (_, y)<-z]

但它不起作用。应该改变什么?

丹尼尔·瓦格纳

根据经验,<-每个嵌套迭代都应该有一个由于您只想遍历一个列表-即zip xs ys-只能有一个<-因此:

scalarproduct xs ys = sum [x*y | (x,y) <- zip xs ys]

您可能还喜欢该zipWith函数:

scalarproduct xs ys = sum (zipWith (*) xs ys)
scalarproduct = (sum .) . zipWith (*) -- may be readable, depending on your bent

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从Haskell的两个列表中提取相同的元素?

来自分类Dev

如何编写一个map语句来比较haskell中两个列表的每个元素?

来自分类Dev

比较两个列表之间的元素-Haskell

来自分类Dev

Haskell:在列表中找到两个相关元素

来自分类Dev

在 Haskell 中将两个函数相加

来自分类Dev

如何在haskell中添加两个列表?

来自分类Dev

如何在haskell中添加两个列表?

来自分类Dev

如何在Prolog中将两个列表的所有元素彼此相乘

来自分类Dev

根据Haskell中第三个列表的元素从两个列表中选择元素

来自分类Dev

在Haskell中逐点添加两个列表

来自分类Dev

Haskell从两个列表中绘制函数参数

来自分类Dev

传递两个列表时的Haskell类型匹配错误

来自分类Dev

Haskell从两个列表中绘制函数参数

来自分类Dev

在Haskell中逐点添加两个列表

来自分类Dev

Haskell 使用 foldr 添加两个列表

来自分类Dev

带有两个参数的 Haskell 列表过滤

来自分类Dev

如何在Haskell的列表中的每个元素上应用函数?

来自分类Dev

如何在Haskell中添加类似matlab的两个列表?

来自分类Dev

如何在Haskell中从两个列表(+附加条件)中添加值

来自分类Dev

在Haskell编程中,如何通过交替组合两个函数列表返回函数?

来自分类Dev

Haskell:调用列表中每个元素的函数

来自分类Dev

在Haskell中自定义列表中的元素相乘

来自分类Dev

压缩两个函数产生的两个列表(Haskell)

来自分类Dev

使用 foldl 或 foldr 返回列表中两个元素首次出现之间的整数距离的间隙函数。(Haskell)

来自分类Dev

Haskell:如何使用“两个同名函数”?

来自分类Dev

我如何让两个haskell平台分别工作

来自分类Dev

如何加入两个Haskell IO monad

来自分类Dev

Haskell:创建列表中每个列表的最后一个元素的列表

来自分类Dev

在Calc元素中将两个向量相乘

Related 相关文章

  1. 1

    如何从Haskell的两个列表中提取相同的元素?

  2. 2

    如何编写一个map语句来比较haskell中两个列表的每个元素?

  3. 3

    比较两个列表之间的元素-Haskell

  4. 4

    Haskell:在列表中找到两个相关元素

  5. 5

    在 Haskell 中将两个函数相加

  6. 6

    如何在haskell中添加两个列表?

  7. 7

    如何在haskell中添加两个列表?

  8. 8

    如何在Prolog中将两个列表的所有元素彼此相乘

  9. 9

    根据Haskell中第三个列表的元素从两个列表中选择元素

  10. 10

    在Haskell中逐点添加两个列表

  11. 11

    Haskell从两个列表中绘制函数参数

  12. 12

    传递两个列表时的Haskell类型匹配错误

  13. 13

    Haskell从两个列表中绘制函数参数

  14. 14

    在Haskell中逐点添加两个列表

  15. 15

    Haskell 使用 foldr 添加两个列表

  16. 16

    带有两个参数的 Haskell 列表过滤

  17. 17

    如何在Haskell的列表中的每个元素上应用函数?

  18. 18

    如何在Haskell中添加类似matlab的两个列表?

  19. 19

    如何在Haskell中从两个列表(+附加条件)中添加值

  20. 20

    在Haskell编程中,如何通过交替组合两个函数列表返回函数?

  21. 21

    Haskell:调用列表中每个元素的函数

  22. 22

    在Haskell中自定义列表中的元素相乘

  23. 23

    压缩两个函数产生的两个列表(Haskell)

  24. 24

    使用 foldl 或 foldr 返回列表中两个元素首次出现之间的整数距离的间隙函数。(Haskell)

  25. 25

    Haskell:如何使用“两个同名函数”?

  26. 26

    我如何让两个haskell平台分别工作

  27. 27

    如何加入两个Haskell IO monad

  28. 28

    Haskell:创建列表中每个列表的最后一个元素的列表

  29. 29

    在Calc元素中将两个向量相乘

热门标签

归档