Haskell 中 2 个列表的笛卡尔积

2024-01-29

我希望在 Haskell 中生成 2 个列表的笛卡尔积,但我不知道该怎么做。笛卡尔积给出列表元素的所有组合:

xs = [1,2,3]
ys = [4,5,6]

cartProd :: [a] -> [b] -> [(a,b)]
cartProd xs ys ==> [(1,4),(1,5),(1,6),(2,4),(2,5),(2,6),(3,4),(3,5),(3,6)]

这不是一个实际的家庭作业问题,与任何此类问题无关,但解决此问题的方式可能会对我遇到的问题有所帮助。


使用列表推导式这非常容易。获取列表的笛卡尔积xs and ys,我们只需要获取元组(x,y)对于每个元素x in xs和每个元素y in ys.

这给了我们以下列表理解:

cartProd xs ys = [(x,y) | x <- xs, y <- ys]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Haskell 中 2 个列表的笛卡尔积 的相关文章

  • Haskell,optparse-generic 的未命名命令行参数

    我在用着optparse 通用 https hackage haskell org package optparse generic解析名为的程序的命令行参数example 我有一个带有命名字段的数据类型 记录语法 例如 data Exam
  • 将系统命令的结果绑定到 Haskell 中的变量

    如何在 Haskell 中运行系统命令and将其结果 即标准输出 绑定到变量 在伪 Haskell 中 我正在寻找类似以下内容的内容 import System Process main do output lt callCommand e
  • Haskell:找不到模块“Data.List.Split”

    我正在尝试在 Haskell 中拆分列表 据我所知 最简单的方法是splitOn 但是这个函数需要Data List Split 所以我尝试运行import Data List Split在前奏曲中 但是 我收到以下错误 Could not
  • 导入 Haskell 模块

    我是哈斯克尔的新手 为什么当我尝试使用时Days from Data Time我收到此错误 Could not find module Data Time It is a member of the hidden package time
  • 如何从 haskell 中的 IOError 获取 errno?

    我在 haskell 平台上 GHC 6 12 1 作为 apt get 安装在 Debian Squeeze 上 鉴于我需要在与最初引发它的线程不同的线程上使用它 如何从 IOError 中获取底层 errno 我需要这个的原因是因为我正
  • Haskell scala 互操作性

    我是 Scala 初学者 来自面向对象范式 在了解 Scala 的函数式编程部分时 我被引导到 Haskell 纯函数式编程语言 探索 SO 问题答案 我发现 Java Haskell 具有互操作性 我很想知道 Scala Haskell
  • 我应该在 Turtle 或 Foldl 包中使用折叠吗?

    我在使用 Turtle 时遇到了一些困难 直到盯着难以理解的错误消息几分钟后才意识到我使用了错误的fold功能 https hackage haskell org package turtle 1 5 8 docs Turtle Shell
  • 在 Haskell 中,为什么我必须在这段代码中使用美元符号?

    我仍在尝试破解这段代码 import Data Char groupsOf groupsOf n xs take n xs groupsOf n tail xs problem 8 x maximum map product groupsO
  • Haskell 中的 print 是纯函数吗?

    Is print在 Haskell 中是纯函数 为什么或者为什么不 我认为不是 因为它并不总是返回与纯函数应返回的值相同的值 类型的值IO Int并不是真正的Int 它更像是一张纸 上面写着 嘿 Haskell 运行时 请生成一个Int如此
  • 在依赖类型的函数式编程语言中,扁平化列表是否更容易?

    在 haskell 中寻找一个可以展平任意深度嵌套列表的函数时 即应用的函数concat递归并在最后一次迭代时停止 使用非嵌套列表 我注意到这需要有一个更灵活的类型系统 因为随着列表深度的变化 输入类型也会变化 确实 有几个 stackov
  • 将 num 的签名键入 double?

    我才刚刚开始为你学习 Haskell 以获得伟大的好处 并且我在类型类方面遇到了一些麻烦 我想创建一个接受任何数字类型并强制其为双精度的函数 我的第一个想法是定义 numToDouble Num gt Double 但我认为这不起作用 因为
  • “Eta减少”并不总是在Haskell中举行?

    我发现我可以说 LANGUAGE RankNTypes f1 forall b b gt b gt forall c c gt c f1 f id f HLint 告诉我我可以在这里做 Eta 减少 但是 f2 forall b b gt
  • Haskell 中列表列表的笛卡尔积

    给定一个长度列表的列表x所有子列表的长度都相同y 输出y x长度列表x包含每个子列表中的一项 例子 x 3 y 2 1 2 3 4 5 6 Output 2 3 8不同的输出 1 3 5 1 4 5 1 3 6 1 4 6 2 3 5 2
  • 如何在 Haskell 中制作打勾游戏的图案?

    实现有 2 个参数的函数 ticktick 第一个参数是自然数元组 定义游戏场地的行数和列数 第二个列表包含由玩家 x 和玩家 o 轮流玩的坐标给出的井字游戏比赛的记录 打印游戏的实际状态 其中游戏区域将由字符 和 界定 空方块 以及字符
  • Haskell / GHC - 是否有“警告不完整模式”的中缀标签/编译指示

    我正在寻找一个可以对特定的不完整模式发出警告的编译指示 它会使编译器失败并显示以下 假设的 代码 FAILIF incomplete patterns f Int gt Int f 0 0 我正在尝试使用 Arrows 编写一个 编译器 并
  • Haskell Stack 从 github 安装包依赖项

    是否可以使用 Haskell 堆栈从 github 安装软件包的版本 例如在一个 cabal or a stack yaml文件 如何在 git repo branch revision 上指向依赖项 对于堆栈 The 的文档stack y
  • 如何在haskell中获取变量名称

    我来到 haskell 时有一些 c 背景知识 想知道是否有类似的 define print a printf s d n a a int a 5 print a 应该打印 a 5 这是 augustss 提到的 TH 解决方案 LANGU
  • 你能识别 Haskell 程序中的无限列表吗? [复制]

    这个问题在这里已经有答案了 可能的重复 如何判断列表是否是无限的 https stackoverflow com questions 7371730 how to tell if a list is infinite 在Haskell中 你
  • 我该如何实现这个折叠功能呢?

    给出了两种数据类型 颜色 和 植物 data Color Red Pink White Blue Purple Green Yellow deriving Show Eq data Plant Leaf Blossom Color Stal
  • 如何在Haskell中实现词法分析器和解析器

    我在这里得到了这段代码 它是用Haskell结构的命令式编程语言编写的程序 所以问题是 我如何为这种语言实现词法分析器和解析器 该程序被定义为一系列语句有 6 种类型 goto write stop if goto 和 int int n

随机推荐

  • iOS Swift:从 CNContactProperty 中获取用户选择的电话号码作为字符串[重复]

    这个问题在这里已经有答案了 正如标题所示 在我使用 swift 的 iOS 应用程序中 我有一个 CNContactProperty 对象 我想从中提取电话号码作为字符串 用户从中选择联系人后 CNContact 属性通过委托协议函数从标准
  • 我该如何清理这个 lambda?

    我有一个在多个 LINQ 查询中多次使用的表达式 因此我将其分离到它自己的返回该表达式的方法中 该函数的 lambda 部分看起来有点混乱 有人想尝试重构它并使其更具可读性和 或更小吗 private Expression
  • 使用不同的替换顺序替换字符串中与单个模式匹配的多个位置

    Using stringr包中 很容易以矢量化方式执行正则表达式替换 问题 我该如何执行以下操作 替换中的每个单词 hello world your make world hello pos 不同的替代品 例如数量不断增加 1 2 3 4
  • Eclipse RCP 4 与 NetBeans Platform 8 对比:选择什么?

    我即将为我的公司启动一个相当大的应用程序 由于它必须是跨平台的 我们指向 Java 本来会喜欢 C 但探索了 Xamarin 生态系统 而 Mac 部分似乎远远落后于休息包 现在 我正在将 Netbeans 8 和 Eclipse 4 作为
  • 如何通过蓝牙 android 发送/接收字符串到另一部 android 手机

    在我的 Android 应用程序中 我想通过蓝牙将字符串从一台设备发送到另一台设备 可用设备显示在列表视图中 我想在不配对的情况下发送字符串 我无法在设备之间建立连接 任何人都可以帮助我建立连接并发送字符串 我有很多示例 但无法弄清楚文件传
  • 如何在 emacs 艺术家模式下在矩形内写入文本?

    我正在 emacs 中学习艺术家模式 发现它非常有趣 我想创建形状并在其中写入文本 就像我们可以使用其他可以绘制形状的软件一样 但是 当我在矩形内键入一些字符时 形状会变形 垂直线会移动一些字符 Please see attached im
  • zend smtp 邮件在 100 多封邮件后崩溃

    在发送新闻通讯类的邮件时 我遇到了这个奇怪的问题 在 for 循环中 我循环访问数据库中的所有用户 并尝试向他们发送一封包含一些基本信息的 HTML 邮件 现在的问题是 前 200 封左右的邮件运行良好 但随后脚本崩溃并给出以下错误 War
  • 使用 NSDate() 快速创建未来日期

    我收到错误 调用中缺少参数 编码器 的参数 以下代码 var components NSDateComponents components setValue 1 forComponent NSCalendarUnit CalendarUni
  • Pygame 事件队列

    我想知道是否有一种使用方法poll or get 而不从队列中删除事件 在我的游戏中 我检查不同位置的输入 不仅在主循环中 有时我需要在不同位置检查相同的事件 但是当我检查它时 它会将其从队列中删除 我尝试使用peek 但问题是我无法获得与
  • Zend ACL 动态断言

    我想限制我的用户只能编辑 删除他们添加的评论 我在 youtube 上找到了一个名为 intergral30 的人的示例 并按照他的指示进行操作 现在我的管理员帐户可以编辑 删除所有内容 但我的用户无权访问他自己的评论 这是代码 资源 cl
  • .h 文件有什么意义?

    我知道 h 文件应该有 类声明 函数原型 和外部变量 对于全局变量 但让它成为一个有什么意义吗 h文件 我尝试重命名我的 h文件到一个 c文件 它仍然有效 We can name our file to be anything but we
  • 为什么我不需要引用“System.dll”来使用“System”命名空间?

    我正在处理指定 不要使用任何外部库 的作业 所以我创建了一个 C 应用程序 我做的第一件事就是默认删除所有 dll 的引用 包括 System dll 但是 我仍然可以将其添加到我的代码中 using System using System
  • PostgreSQL全文搜索和保留字,保留一些单词

    我正在使用 Postgresql 和英语字典进行完整的测试搜索 当我想接收带有一些英语单词的记录时 我得到了真实的结果 And so SELECT id FROM table1 WHERE ts vector1 to tsquery it
  • BlockingCollection(Of T) 的目的是什么

    我试图在 NET 4 上新的并行堆栈的上下文中理解 BlockingCollection 的用途 The MSDN http msdn microsoft com en us library dd267312 VS 100 aspx文档说
  • 迭代器(不是迭代器)上的 Lambda 迭代

    我经常读到在迭代器上调用 Lambda 函数是不可能的 直到现在我也一直抱着这样的信念 然而 阅读 Franco Ponticelli 和 Lee McColl Sylvester 所著的 Professional Haxe 一书 了解如何
  • 如何使用 CoreData 执行计算查询

    我有 T SQL 背景 所以 CoreData 的东西对我来说有点新鲜 我正在制作一个应用程序原型 该应用程序最终将使用 MS SQL 后端 Web 服务进行查询 在我的后端 我的 t sql 查询将是这样的 SELECT SQRT SQU
  • “关闭变量会导致性能稍差”。如何?

    在回答 SO 问题时 我被告知我的解决方案将引入变量闭包 因此它的性能会稍差 所以我的问题是 怎么会出现倒闭呢 它将如何影响性能 这里是question https stackoverflow com questions 24696991
  • 有效管理数据变更

    我有一张名为 Bookings 的表 该表包含表示针对特定服务进行的预订的数据 具有许多变量 不久前 我遇到了当前数据结构的问题 即影响时间 日期或价格的预订的任何更改都会影响其他相关的财务记录 日期的预订列表等 我当时的解决方案是创建一个
  • swift webrtc 修改 CMSampleBuffer 以应用一些滤镜效果

    我想在localVideo中添加一些滤镜效果 所以我修改了CMSampleBuffer 转换为 UIImage 使用VNFaceDetector检测人脸boundingBox 将我的滤镜图像添加到相机图像中 转换回 CMSampleBuff
  • Haskell 中 2 个列表的笛卡尔积

    我希望在 Haskell 中生成 2 个列表的笛卡尔积 但我不知道该怎么做 笛卡尔积给出列表元素的所有组合 xs 1 2 3 ys 4 5 6 cartProd a gt b gt a b cartProd xs ys gt 1 4 1 5