将函数映射到两个输入列表

2024-01-02

我有一个函数想要用多组输入进行测试。假设函数是

f :: a -> b -> c

现在我有两个输入列表:

inputA :: [a]
inputB :: [[b]]

For inputA !! i,我要评价f $ input !! i对于列表中的每个元素inputB !! i。我知道我需要几个应用程序map做到这一点,但我很难找到解决方案。

我最近的尝试是

map f inputA <$> inputB

这给出了以下错误:

无法匹配预期类型a0 -> b0' with actual type[b1]'
在调用的返回类型中map'
Probable cause:
map' 应用于太多参数
在第一个参数中(<$>)', namely输入图S'
表达式中:map f inputA inputB

我应该如何解决这个问题?我不一定想要一个完整的解决方案。朝着有帮助的方向推动(甚至推动)肯定会受到赞赏。

附加想法:

map f inputA :: [b -> c]

我认为这是正确的方向。现在我需要将每个函数映射到每个输入列表上inputB.

为了澄清,我想绘制地图i中的第一个函数map f inputA超过i第一个输入列表inputB得到结果outputC :: [[c]].


您可以使用zipWith

Prelude> let a = [1,2,3]
Prelude> let b = [[1,2,3],[4,5,6],[7,8,9]]
Prelude> zipWith (\a' bl -> map (+a') bl)  a b
[[2,3,4],[6,7,8],[10,11,12]]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将函数映射到两个输入列表 的相关文章

  • 在 Haskell 中为自定义数据类型创建 Read 类型类的实例

    我有一个自定义数据类型Foo Foo a Int b Int 我正在尝试使 Foo 成为 read 的自定义实例 我已经有一个功能了bar String gt Foo我尝试这样做 instance Read Foo a b where re
  • 我们不应该使用单子绑定来使用循环写下 mfix 的情况

    我一直在尝试写mfix向下使用Control Arrow loop https hackage haskell org package base 4 14 0 0 docs src Control Arrow html loop 我想出了不
  • 应用交换律

    带有效果的应用程序编程 http staff city ac uk ross papers Applicative html麦克布莱德和帕特森的论文提出了互换法 u lt gt pure x pure f gt f x lt gt u 为了
  • 副作用是纯函数中找不到的一切吗?

    可以肯定地说 以下二分法成立 每个给定的函数是 要么纯粹 或有副作用 如果是这样 函数的 副作用就是纯函数中找不到的任何东西 这很大程度上取决于您选择的定义 可以公平地说 函数是pure or impure 纯函数始终返回相同的结果并且不会
  • 算法 - 如何有效删除列表中的重复元素?

    有一个list L 它包含以下元素任意类型each 如何有效删除此类列表中的所有重复元素 必须保留订单 只需要一个算法 因此不允许导入任何外部库 相关问题 在Python中 从列表中删除重复项以使所有元素都是唯一的最快算法是什么在维持秩序的
  • 不同 hs 文件中的函数分离时堆栈空间溢出

    我有一个巨大的 haskell 文件 它编译和运行没有任何问题 我想将一些函数和类型定义放在通用 hs 文件中的单独模块中 然后将其导入我的主模块中 虽然主程序编译时没有任何错误 它还编译导入的模块 但当我尝试运行它时 出现堆栈空间溢出 I
  • 是否有一个基于对象身份的、线程安全的记忆库?

    我知道记忆化似乎是堆栈溢出的 haskell 标签上的一个长期话题 但我think以前没有人问过这个问题 我知道 Haskell 有几个不同的 现成 记忆库 memo combinators 和 memotrie 包 利用涉及惰性无限数据结
  • 如何组合过滤条件

    过滤器类函数接受一个条件 a gt Bool 并在过滤时应用它 当您有多个条件时 使用过滤器的最佳方法是什么 使用了应用函数 liftA2 而不是 liftM2 因为出于某种原因我不明白 liftM2 在纯代码中如何工作 liftM2 组合
  • 对元组列表进行排序的函数 - Haskell

    抱歉 这个简单的问题只是我对 haskell 非常陌生 我正在尝试编写一个函数 order 它将对另一个函数 Frequency 生成的元组列表进行排序 频率计算列表中不同元素的数量 a给出一个这样的结果 比如 gt 频率 aabbbccc
  • Haskell 错误处理方法

    毫无疑问 Haskell 中有多种机制来处理错误并正确处理它们 错误单子 要么 也许 异常等 那么为什么用其他语言编写容易出现异常的代码比用 Haskell 感觉更简单呢 假设我想编写一个命令行工具来处理命令行上传递的文件 我想 验证提供的
  • 嵌套在其他 monad 中的 IO 操作未执行

    我有一个 foobar IO ParseResult String String ParseResult 是一个在这里定义的 monad https hackage haskell org package haskell src exts
  • 为什么解析器组合器“seq”用“bind”和“return”定义?

    我正在读这个article http eprints nottingham ac uk 237 1 monparsing pdf关于解析器组合器并且不理解以下内容 他们说使用seq 见下文 导致解析器将嵌套元组作为结果 操作起来很混乱 se
  • 将名称绑定到值与将值分配给变量

    阅读 Bartosz Milewski 的文章完整的 https www fpcomplete com school starting with haskell basics of haskell 3 pure functions lazi
  • 如何使用 Haskell 提交 html 表单

    我知道如何使用http 管道 http hackage haskell org package http conduit 2 1 0包的 simplehttp 从 URL 检索页面 现在如果那样的话怎么办 网页有一个输入文本字段和一个提交按
  • 为什么以下内容会并行运行而不是顺序运行?

    给定以下函数evalPair parPair and deepSeq分别 evalPair Strategy a gt Strategy b gt Strategy a b evalPair sa sb a b do a lt sa a b
  • 在一元上下文中使用 Data.Map

    我正在操作的地图具有单子键 类型为IO Double 我需要使用findMax在这张地图上 我可以用吗liftM为了这 Map findMax Map fromList f x X f y Y f z Z Here f x有类型IO Dou
  • Haskell cabal:我刚刚安装了软件包,但现在找不到软件包

    在这里 http haskell org haskellwiki Cabal Install I just installed packages 2C but now the packages are not found这是我可以找到我正在
  • 是否有适用于 Haskell 或 Scala 等函数式语言的 LL 解析器生成器?

    我注意到明显缺乏用函数式语言创建解析器的 LL 解析器 我一直在寻找但没有成功的理想发现是为 ANTLR 风格的 LL 语法生成 Haskell 解析器 语法的模小数重新格式化 并且令我惊讶的是 每个最后一个解析器生成器都具有函数我发现的语
  • 为什么我不能将 Int 类型与 a 类型匹配

    哈斯克尔新手在这里 我在这里尝试做的事情的一个过于简单的例子 test Int gt a test i i Couldn t match expected type a with actual type Int a is a rigid t
  • 用纯函数式语言保持状态

    我正在尝试弄清楚如何执行以下操作 假设您正在开发直流电机的控制器 您希望让它以用户设置的特定速度旋转 def set point ref sp 90 while true let curr read speed controller set

随机推荐

  • 如何调整查询Stackoverflow API时返回结果的数量?

    我正在使用 Stackoverflow JSON API 来检索标有给定标签的问题 我有一个用 Java 编写的小程序 它可以检索标有 Java 标签的问题 public static void main String args throw
  • JQuery Mobile 用户滚动到底部

    使用以下代码 我试图找到用户何时滚动到页面底部 在 JQuery 移动版中 window scroll function if window scrollTop document height window height alert The
  • Android——隐藏视图

    好吧 我环顾四周 我明白了你应该如何做 但对我来说 这是行不通的 我需要能够在 XML 和代码中设置relativelayout 的 alpha 对于我的 XML 我有以下内容
  • 转换为灰度是图像预处理中的必要步骤吗?

    我想知道将图像转换为灰度是否是所有图像预处理技术的必要步骤 我正在使用神经网络进行人脸识别 是否真的有必要将其转换为灰度 或者我可以将彩色图像也作为神经网络的输入吗 转换为灰度对于图像处理来说并不是必需的 但通常出于以下几个原因进行转换 简
  • setTimeout 函数以错误的顺序运行[重复]

    这个问题在这里已经有答案了 当我按顺序执行下面三行时 它们按顺序输出3 1 2 如果订单不是3 2 1 因为第一条线的延迟比第二条线长 1ms vs 0ms setTimeout gt console log 1 1 setTimeout
  • EXCEL 多位异或

    我有两个单元格 其中包含一串位 0111010 和 0101011 我想将两者异或在一起 以便得到的单元格为 0010001 我知道你可以用它来表示布尔值 OR AND A1 NOT A2 AND A2 NOT A1 但它不适用于一串位 您
  • 为什么c++中没有多方法? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我读了很多关于如何在 C 中实现多方
  • 如何在 iOS 中的共享首选项中保存 cookie?

    如何在 iOS 中的共享首选项中保存 cookie 以及以后如何提取它 我想保存 cookieHTTPCookieStorage shared cookies进入用户默认值 然后提取 请用 Swift 3 回答 试试这个代码 Store f
  • 如何使用 Google 地图搜索我自己的位置数据(与地点搜索 API 功能相同,但针对我自己的“地点”)

    查看相关问题 谷歌地图自定义本地搜索 搜索控件 https stackoverflow com questions 3386841 google maps custom local search search control 我知道我可以创
  • 为什么大括号初始化器的自动类型推导和模板类型推导不同?

    我明白 给定一个支撑初始化器 auto将推导出一个类型std initializer list 而模板类型推导将会失败 auto var 1 2 3 type deduced as std initializer list
  • 自定义适配器中的位置错误

    我创建了一个定制适配器管理一些Buttons每个里面ListView物品 如果我向下滚动列表并单击按钮 适配器就会采取错误的位置 LISTVIEW item 1 item 2 item 3 item 4 item 5 item 6 item
  • 如何以编程方式调用 Maven 任务

    我在另一个构建工具 Clojure 的 leiningen 但这不重要 的上下文中使用 Maven 我想知道如何调用像依赖 构建类路径 http maven apache org plugins maven dependency plugi
  • 在序言中随机播放

    我正在尝试在序言中编写一个过程 其中如果 L1 1 2 3 且 L2 4 5 6 那么 L3 1 4 2 5 3 6 so shuffle 1 2 3 4 5 6 1 4 2 5 3 6 到目前为止我有这个 shuffle X Y X Y
  • golang - 反射包中的 Elem 与间接

    来自文档 func v Value Elem Value Elem 返回接口 v 包含的值或指针 v 指向的值 如果 v 的 Kind 不是 Interface 或 Ptr 它会发生恐慌 如果 v 为零 则返回零值 func Indirec
  • PasswordHash 无法与 CodeIgniter 一起使用

    我已经把我下载的文件放在了http www openwall com phpass http www openwall com phpass to application libraries 在我的控制器中 我使用这段代码 params a
  • Java中如何手动进行长时间Full GC

    如何编写一些代码将对象分配到 Old Gen 中 从而导致 Full GC 时间超过三五秒 将对象分配到 Old Gen 中 和 长 GC 暂停 很难结合起来 因为你可以对垃圾收集器做的最糟糕的事情就是创建大量小的 链接的 活动的对象 形成
  • 多重排序的 URL 查询字符串约定

    我有一个 RESTful Web 应用程序 支持对项目集合进行多个排序字段 是否存在将这些排序字段编码到 URL 的查询字符串中的通用约定 我正在考虑如下的模式 http myapp com books sort author asc da
  • 如何在c#中获取组合键

    How can I capture Ctrl Alt K P keys on a C form thanks 这是一个和弦 如果不记住看到和弦的第一个击键 就无法检测到它 这有效 public partial class Form1 For
  • gitlab runner 请求的 URL 返回错误:403

    我目前正在使用 gitlab com 不是本地安装 及其多运行程序进行 CI 集成 这在我的一个项目中效果很好 但在另一个项目中却失败了 我的主机使用的是 2012R2 MSBuild 版本为 14 0 23107 0 我知道下面的错误显示
  • 将函数映射到两个输入列表

    我有一个函数想要用多组输入进行测试 假设函数是 f a gt b gt c 现在我有两个输入列表 inputA a inputB b For inputA i 我要评价f input i对于列表中的每个元素inputB i 我知道我需要几个