Haskell 将两个列表中不同索引处的元素组合起来

2024-04-24

对这个糟糕的标题表示歉意,我不太确定如何用语言描述它,但这就是我的意思。如果您知道更好的表达方式,请告诉我。

假设我有 2 个长度相等的列表。

[a, b, c] [x, y, z]

我想创建列表

[[a, y, z], [b, x, z], [c, x, y]]

本质上,对于 list1 的每个元素,我希望这两个元素与 list2 中的第一个元素具有不同的索引。

因此,对于索引 0 处的“a”,其他 2 个是索引 1 处的“y”和索引 2 处的“z”。

我很确定我知道如何使用索引来做到这一点,但是,我知道这不是很有效,并且想看看是否有更实用的解决方案。

谢谢。


您尚未描述任何边缘情况,但您可以通过以下方式获得您正在寻找的基本行为:

import Data.List (inits, tails)

combine :: [a] -> [a] -> [[a]]
combine xs ys = zipWith3 go xs (tails ys) (inits ys)
  where
    go a (_:xs) ys = a:ys ++ xs
    go _ _ _ = []

关键是tails返回从完整列表开始的列表的连续后缀,并且inits返回以空列表开头的连续前缀。

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

Haskell 将两个列表中不同索引处的元素组合起来 的相关文章

  • 我应该选择哪种函数式编程语言作为第一种函数式编程语言? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我想学习一种函数式编程语言 以了解不同的编程范例 我的编程背景 Java 我刚刚通过了 SCJP 考试 一些 ruby 和非常有限的 Rails
  • List.Except 不起作用

    我尝试减去 2 个列表 如下代码所示 assignUsers已获得 3 条记录assignedUsers有 2 行 后Except方法我仍然得到 3 行 尽管我应该得到 1 条记录 因为 2 行assignedUsers类似于assignU
  • number_in_month 练习(计算列表中的元素数)

    我一直在尝试使用 SML 对整数 3 元组列表中的元素进行计数 该列表等于给定的整数 但它不起作用 谁能帮我找出下面的代码有什么问题或者为我纠正它 fun number in month x int int int list m int i
  • 如何在 Flutter 中创建网络图像列表

    我使用 Carousel Pro 包在屏幕上实现轮播 在这个 Carousel 类中它需要一个图像列表 Carousel 类的语法是 Carousel images NetworkImage https cdn images 1 mediu
  • 如何在 F# 中将对象转换为泛型类型列表

    在下面的代码片段中 我的目的是将 System Object 可能是 FSharpList 转换为它所持有的任何泛型类型的列表 match o with list lt gt gt addChildList o gt list lt gt
  • Haskell 中的异构多态性(正确方法)

    让一个模块来抽象Area操作 错误的定义 class Area someShapeType where area someShapeType gt Float module utilities sumAreas Area someShape
  • 从 Json Python 获取特定字段值

    我有一个 JSON 文件 我想做的是获取这个特定字段 id 问题是当我使用json load input file 它说我的变量data是一个列表 而不是字典 所以我不能做类似的事情 for value in data id print d
  • foo.Name undefined(类型接口{}没有字段或方法名称)

    我使用本机 golang 包 container list 来管理堆栈中的 inotify 事件 当我访问堆栈的项目时 我的类型失败 我认为 import golang org x exp inotify container list lo
  • 索引多列并匹配不同的值,返回跨列的唯一值列表

    我已经在漫长的几周内广泛寻找解决我的问题的方法了 我提出了一个部分有效的解决方案 我将其包含在底部 供那些可能知道如何修改 扩展它们以解决问题的人使用 这就是我想要完成的任务 以下描述参考此屏幕截图https i stack imgur c
  • 在 Haskell 中将字节转换为 Int64s/Floats/Doubles

    我正在尝试解析 Haskell 中的二进制文件格式 Apple 的二进制属性列表格式 该格式所需的内容之一是将字节序列视为 a 无符号 1 2 或 4 字节整数 b 有符号 8 字节整数 c 32 位floats d 64 位doubles
  • python函数返回函数[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Haskell 中函数和函子有什么区别?只有定义吗?

    在 Haskell 中 当编写函数时 这意味着我们将某个东西 输入 映射到另一个东西 输出 我尝试 LYAH 来理解 Functor 的定义 看起来和普通 Functor 一样 函数被称为函子有什么限制吗 Functor 是否允许有 I O
  • 在 C# 中枚举时从 List 中删除项目的智能方法

    我有一个经典的案例 尝试从集合中删除一个项目 同时在循环中枚举它 List
  • “Java”“List”方法“size”如何工作?

    在Java中 有一个List接口和size 计算尺寸的方法List 当我打电话时List size 怎么算呢 是线性计数 还是确定计数后只返回值size 大小定义为列表中元素的数量 该实现未指定 size 成员函数如何操作 迭代成员 返回存
  • 在 Python 中使用列表理解来执行类似于 zip() 的操作?

    我是一名 Python 新手 我想做的事情之一就是围绕列表理解进行思考 我可以看到这是一个非常强大的功能 值得学习 cities Chicago Detroit Atlanta airports ORD DTW ATL print zip
  • 在 Django 中为多个查询编写视图的最佳方法?

    这是一个简单的问题 我已经组织了我的模型 以便提供给页面的大多数对象都属于一种类型 项目 该模型包含各种属性 可以帮助我以不同的方式提供服务 我有文章和视频 它们由模型上的 类型 字段确定 类型 文章 等 我有一个列表视图 它显示项目模型中
  • 4 x 3 锁图案

    我遇到了这个 它要求计算在 4x3 网格中可以制作特定长度的锁定图案的方式数 并遵循规则 可能有些点不能包含在路径中 有效的模式具有以下属性 图案可以使用第一次接触的点序列来表示 与绘制图案的顺序相同 从 1 1 到 2 2 的图案与图案不
  • 使用 nix 在 Mac OS X 上由于“架构 x86_64 的未定义符号”而导致“堆栈构建”失败

    首先是错误消息 stack build Linking Users yuzhao stack setup exe cache x86 64 osx tmp Cabal simple mPHDZzAJ 2 2 0 1 ghc 8 4 4 cl
  • 导入 Haskell 模块

    我是哈斯克尔的新手 为什么当我尝试使用时Days from Data Time我收到此错误 Could not find module Data Time It is a member of the hidden package time
  • Python - 如何将列表保存为图像?

    我生成一个常规列表 是否可以将此列表保存为 JPEG 图像或 PNG 或其他格式 以便我可以打开图像并查看它 我目前正在尝试使用 python 成像库 PIL 来解决这个问题 这是可能的解决方案之一 使用以下方法创建一个空图像对象 Imag

随机推荐

  • 简单的程序崩溃

    所以我已经使用 MinGW GCC 版本 4 4 有一段时间了 并决定是时候升级了 我去MinGW网站下载了最新版本的GCC 4 7 0 删除以前的版本并安装最新版本后 即使是最简单的程序也会崩溃 例如 如果我编译这个程序 include
  • 通过日期时间列表根据日期列更新 pandas 数据框列

    老问题 https stackoverflow com q 73168797 15975987 详情请参考上述问题 我需要添加 0 5 个工作日business days第二个列表中不在第一个列表中的每个假期的列 这是一个名为 df 的示例
  • 值的 Ocaml 表示 - 原子

    我查看了一些 OCaml 值的内部表示 空数组的表示是atom 0 即一个块tag 0 and size 0 空浮点数数组由atom 0 too 是否存在由原子表示的任何 OCaml 值tag gt 0 如果不是 OCaml 字节码集包含以
  • AWS Kinesis ShardIteratorType TRIM_HORIZON 的预期行为

    Context 我不一定指的是基于 KCL 的应用程序 只是纯粹的 Kinesis API 调用 是否使用TRIM HORIZON分片迭代器类型立即为您提供流中最早发布的记录 即 Kinesis 内置 24 小时窗口内最早可用的记录 或者只
  • 初始化类和实例化对象之间的区别?

    我尝试通过搜索引擎搜索这个问题 但可以找到一个主题来解释初始化类和实例化对象之间的区别 有人可以解释一下它们有何不同吗 与该主题相关的三个术语是 声明 初始化和实例化 从后到前工作 实例化 这是为对象分配内存的时候 这就是new关键字正在做
  • 在 F# 中的 Choice 之上构建 Either(或 Result)

    我根据 Scott Wlaschin 中的信息构建了一个成功 失败的 monadblog http fsharpforfunandprofit com posts computation expressions wrapper types
  • OpenAI GPT-3 API:如何让模型记住过去的对话?

    有没有办法训练一个大语言模型 法学硕士 存储特定的上下文 例如 我有一个很长的故事 我想提出问题 但我不想把整个故事放在每个提示中 如何才能让LLM 记住这个故事 考虑到 GPT 3 模型没有能够记忆过去对话的参数 看来目前 记忆 过去对话
  • 在 linux shell 中执行程序时得到“dquote>”

    当我在 Linux shell 中执行脚本时 我得到以下输出 dquote gt 这是什么意思 这意味着您执行了一行仅包含一个双引号字符的代码 如下所示 echo Hello shell 正在等待其他报价
  • 将 iPhone/iPad 应用程序合并为一个通用应用程序

    我有两个应用程序 一个用于 iPhone 另一个用于 iPad 我想将它们合并为一个通用应用程序 在我的第一次尝试中 我尝试创建一个新的通用应用程序项目并添加适用于 iPhone 和 iPad 版本的库 iPad 版本编译并运行良好 如预期
  • 如何使用 Cloud Composer 将大数据从 Postgres 导出到 S3?

    我一直在使用 Postgres to S3 运算符将数据从 Postgres 加载到 S3 但最近 我必须导出一个非常大的表 并且我的 Airflow Composer 失败 没有任何日志 这可能是因为我们正在使用 Python 临时文件模
  • 内容脚本仅在重新加载/刷新时加载

    这是我第一次创建 Google Chrome 扩展程序 我无法找到一种方法来可靠地让内容脚本在单击 YouTube 上的建议视频或任何相关视频时运行一次 我尝试将 all frames 设置为 true 但这会多次调用脚本 浏览 YouTu
  • 在并发程序中从 BlockingQueue 获取对象的最佳方法?

    在并发程序中 从 BlockingQueue 中取出对象而不遇到竞争条件的最佳方法是什么 我目前正在执行以下操作 但我不相信这是最好的方法 BlockingQueue
  • 如何在 Python3 中将字符串添加到 tarfile

    我在添加时遇到问题str到 python 中的 tar 存档 在python 2中我使用了这样的方法 fname archive name params src some arbitrarty string to be added to t
  • 如何将参数传递给用 C# 编写的托管代码 dll 的自定义操作?

    我有一个要求 必须将 3 个参数传递给 C 代码 以便在 installshield 中执行托管代码自定义操作 给不了代码啊请有人帮助我 即使是基本的方法 提前致谢 既然您提到了自定义操作 请参阅在程序集自定义操作中指定托管方法的签名 ht
  • Jsf 生命周期 - 验证失败后渲染响应

    我希望 BalusC 或一位 JSF 专家能够帮助我了解 JSF 生命周期的细节 尤其是渲染 我很难理解的是 在渲染响应期间 从模型中获取值并将其显示给用户 现在 如果存在验证错误 则模型不会更新 因此渲染器必须向用户显示组件树中的无效值
  • 在 Magento 中显示产品所属的所有类别

    我正在构思一个新的 Magento 网站 该网站将包含多个类别的产品 我想知道是否可以在产品详细信息页面上显示产品所属的所有类别 我知道有可能得到the类别 但是否可以显示列表all产品属于哪些类别 例如 衬衫可以包含在Shirts类别 以
  • Rails 从一个邮件程序功能发送 2 封不同的电子邮件

    我有必要这样做 因为对我来说这似乎合乎逻辑 def notification vehicle vehicle vehicle mail to gt vehicle owner email address template name gt n
  • 在Servlet中获取真实的客户端IP [重复]

    这个问题在这里已经有答案了 我在一个简单的问题上遇到了一些麻烦 我会得到HTTPServlet 内的真实客户端 IP 从现在开始我使用 request getRemoteAddr 但现在它返回一个错误的IP 例如 xxx xxx xxx 5
  • 与 MySQL 中的 SQL Server EXCEPT 运算符类似的功能吗?

    MySQL中是否有类似的操作数 函数 命令EXCEPT http msdn microsoft com en us library ms188055 aspxSQL Server 中的操作数 EXCEPT返回左侧查询中未在右侧查询中找到的任
  • Haskell 将两个列表中不同索引处的元素组合起来

    对这个糟糕的标题表示歉意 我不太确定如何用语言描述它 但这就是我的意思 如果您知道更好的表达方式 请告诉我 假设我有 2 个长度相等的列表 a b c x y z 我想创建列表 a y z b x z c x y 本质上 对于 list1