gpt4 book ai didi

haskell - Haskell 中的 zipWith 函数

转载 作者:行者123 更新时间:2023-12-02 15:18:36 27 4
gpt4 key购买 nike

ghci> zipWith' (zipWith' (*)) [[1,2,3],[3,5,6],[2,3,4]] [[3,2,2],[3,4,5],[5,4,3]]

函数 zipWith' 使用函数 '*' 及其后面的参数来获取返回值。但是在这种情况下,函数 zipWith' 如何获取结果 [[3,4,6],[9,20,30 ],[10,12,12]]。

使用 zipWith 的代码示例逐字摘自免费在线书籍 Learn You a Haskell for Great Good .

最佳答案

zipWith 在两个列表的每个成员上成对调用给定函数。因此,zipWith f [a,b,c] [x,y,z] 的计算结果为 [f a x, f b y, f c z]。在本例中,fzipWith (*) 并且列表的元素又是列表,因此您得到:

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

现在对 zipWith 的内部调用将内部列表的元素成对相乘,因此您得到:

[ [3,4,6],
[9,20,30],
[10,12,12] ]

关于haskell - Haskell 中的 zipWith 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4743585/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com