如何从列表中选择每个第n个元素[重复]

2024-04-12

可能的重复:
如何在 Haskell 中获取无限列表的每个第 N 个元素? https://stackoverflow.com/questions/2026912/how-to-get-every-nth-element-of-an-infinite-list-in-haskell

简单的任务 - 我们有一个列表,并且只想保留该列表中的每个第 n 个元素。 在 haskell 中最惯用的方法是什么?

我的脑海中浮现出这样的事情:

dr n [] = []
dr n (x : xs) = x : (dr n $ drop n xs)

但我有一种强烈的感觉,我把问题过于复杂化了。


我的变体是:

each :: Int -> [a] -> [a]
each n = map head . takeWhile (not . null) . iterate (drop n)

速度快,并且能很好地应对懒惰。

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

如何从列表中选择每个第n个元素[重复] 的相关文章

  • 在 Windows 上使用堆栈安装 SDL2 for Haskell

    我正在尝试将 SDL2 与堆栈一起使用 我跟着这些说明 https www reddit com r haskellgamedev comments 4jpthu windows sdl2 is now almost painless vi
  • 移动列表中特定元素的简单函数

    我是 Haskell 的新手 我正在尝试弄清楚如何创建一个函数 shift Eq a gt a gt a gt Int gt a shift x h t z 输入 一个通用列表和一个相同类型的元素 x 前提条件 元素x存在于列表中 Outp
  • Haskell 中的异构多态性(正确方法)

    让一个模块来抽象Area操作 错误的定义 class Area someShapeType where area someShapeType gt Float module utilities sumAreas Area someShape
  • Haskell:Where 与 Let

    我是 Haskell 的新手 我很困惑Where vs Let 它们似乎都提供了相似的目的 我读过一些比较Where vs Let但我很难辨别何时使用它们 有人可以提供一些背景信息或者一些示例来说明何时使用其中一种而不是另一种吗 哪里与让
  • 函数式编程是否需要新的命名约定?

    我最近开始使用 Haskell 学习函数式编程 并在 Haskell 官方 wiki 上发现了这篇文章 如何阅读哈斯克尔 http www haskell org haskellwiki How to read Haskell What t
  • 显示未定义的实例

    可以采取任何措施来为未定义的值定义 Show 实例吗 也许存在一些 GHC 扩展 我想要这样的东西 gt print 1 undefined 1 undefined 根据Haskell 2010 报告 第 9 章 http www hask
  • 如何使用 Haskell 中的 thyme 库从 Int 值创建 UTCTime?

    我有年 月 日 小时和分钟值 所有这些都是类型Int 我怎样才能将它们转换为UTCTime or UniversalTime 需要导入以下内容 import Control Lens import Data Thyme Clock impo
  • 如何在 Yesod 中使用 CSS 框架?

    我想将 Blueprint CSS 框架与 Yesod 一起使用 有没有最佳实践 因为 Yesod 使用 CSS 模板 所以在我看来我不能直接使用 css 文件 我必须将它们重命名为 lucius files 吗 如何将 CSS 添加到 d
  • Haskell Cabal 包 - 找不到 Paths_ 模块

    我正在开发一个 Haskell 项目 Happstack 服务器 Blaze HTML 前端作为主要库 我想添加一个静态数据目录 看起来你可以使用 Cabal 使用自动生成的Path
  • Haskell 类型系统的细微差别

    我一直在深入了解 haskell 类型系统的本质 并试图了解类型类的要点 我已经学到了很多东西 但我在下面的代码片段上遇到了困难 使用这些类和实例定义 class Show a gt C a where f Int gt a instanc
  • 为什么 Haskell 的默认字符串实现是一个字符链接列表?

    Haskell 默认值的事实String众所周知 实现在速度和内存方面都效率不高 据我所知 lists一般来说 在 Haskell 中实现为单链表 并且适用于大多数小型 简单数据类型 例如Int 这似乎不是一个好主意 但是对于String这
  • 如何手动推断表达式的类型

    给定 Haskell 函数 head filter fst 现在的问题是如何手动 手动 找到类型 如果我让 Haskell 告诉我我得到的类型 head filter fst Bool b gt Bool b 但我想了解仅使用所用函数的签名
  • Haskell scala 互操作性

    我是 Scala 初学者 来自面向对象范式 在了解 Scala 的函数式编程部分时 我被引导到 Haskell 纯函数式编程语言 探索 SO 问题答案 我发现 Java Haskell 具有互操作性 我很想知道 Scala Haskell
  • 在 Haskell 中,为什么我必须在这段代码中使用美元符号?

    我仍在尝试破解这段代码 import Data Char groupsOf groupsOf n xs take n xs groupsOf n tail xs problem 8 x maximum map product groupsO
  • 将两个 Int 值相除以获得 Float 的正确方法是什么?

    我想分两份IntHaskell 中的值并获得结果Float 我尝试这样做 foo Int gt Int gt Float foo a b fromRational a b 但 GHC 版本 6 12 1 告诉我 无法将预期类型 Intege
  • 如何在 Haskell 中漂亮地打印表格?

    我想在 Haskell 中漂亮地打印一个类似表格的数据结构 列列表 例如 Table StrCol strings a bc c IntCol ints 1 30 2 DblCol doubles 2 0 4 5 3 2 应该渲染类似 st
  • Haskell 入门

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 几天来 我一直试图理解 Haskell 中的函数式编程范例 我通过阅读教程和观看截屏视频
  • 找不到模块“Yesod”

    我有以下代码 LANGUAGE TypeFamilies QuasiQuotes MultiParamTypeClasses TemplateHaskell OverloadedStrings module Simple where imp
  • : 中缀运算符在 Haskell 中的作用是什么?

    我正在阅读Haskell 简要介绍 http www haskell org tutorial index html 这不是那么温和 并且它反复使用 操作符而不直接解释它的作用 那么 它到底有什么作用呢 是 前置 运算符 x xs 返回一个
  • Haskell - lambda 表达式

    我试图了解什么是有用的以及如何在 Haskell 中实际使用 lambda 表达式 我不太明白使用 lambda 表达式相对于定义函数的约定方式有何优势 例如 我通常会执行以下操作 let add x y x y 我可以简单地打电话 add

随机推荐

  • 无法在字符串“__zone_symbol__optimizedZoneEventTask”上创建属性“__creationTrace__”

    这是一个糟糕的星期四 这是第 13 号 昨天我向我的同事们解释了我们是多么幸运 13 日是在星期四 而不是星期五 好吧 那是昨天的事 今天我醒来时 阿格的拳头打在我脸上 无法创建属性 创作轨迹 在字符串 zone symbol optimi
  • PHP IMAP 推送电子邮件通知到 iPhone

    我正在编写一个 PHP 脚本 该脚本通过 IMAP 定期检查用户收件箱中是否有新消息 该脚本与 IMAP 服务器保持开放连接 并每 5 秒获取最新消息的 UID 如果 UID 大于最初记录的比较 UID 脚本会向用户的 iPhone 发送推
  • Python:使用 Win32 COM Api 打开 Excel 工作簿

    我使用以下代码在 Excel 中打开并显示工作簿 import win32com client as win32 excel win32 gencache EnsureDispatch Excel Application wb excel
  • Android 电视 - 现在玩纸牌图标

    我目前正在开发一个 Android 电视应用程序 但无法弄清楚如何更改当我在播放视频时离开该应用程序时出现的当前播放卡的图标 This link https developer android com training tv playbac
  • 带有对象输入数组的 Angular 2 形式

    我正在构建一个发票应用程序来学习 Angular2 我遇到的问题是如何构建行项目组件 其中一行包含 3 个输入 这些输入应来自并绑定到行项目数组中的对象 在角度1中 我可以通过添加一个轻松实现这一点ng form指向输入容器的指令 这里相当
  • 处理日期时间格式的“+00:00”

    如何将 2020 06 30 15 20 13 078196 00 00 形式的日期列转换为 pandas 中的日期时间 这就是我所做的 pd concat df df date string apply lambda s pd Serie
  • ASP.NET 如何将文件流式传输给用户

    最初 我试图找出 Response Close 和 Response End 之间的区别 但经过更多谷歌搜索和研究后 很明显我没有看到 Byte 发送回客户端的常见方式 我将在下面留下代码示例 但我想知道执行此操作的行业标准是什么 Byte
  • 通过 qbXML 设置 Employee 的 IsActive

    使用 QbXml 添加或修改员工时出现以下错误 QuickBooks 在解析提供的 XML 文本流时发现错误 我尝试过 true false 这是它返回的值 yes no 和 1 0 这些似乎都不起作用 是否可以为员工设置 IsActive
  • 我怎样才能完成反应日期

    我正在创建消息列表 显示消息发送的时间 这是我的留言集 Messages new Mongo Collection messages Messages attachSchema new SimpleSchema created type D
  • 如果字符串包含列表中的元素,则创建新的条件列[重复]

    这个问题在这里已经有答案了 我正在尝试添加一个新列keywords这将得到价值TRUE如果该单词出现在关键字列表中 该值将是FALSE如果该词没有出现在keywordslist 我的关键字由 100 多个单词组成 因此无法手动添加单词 关键
  • Mongo Java 驱动程序不遵守 limit 方法

    我有这个查询 DBCursor mongoCursor mongoCollection find query sort sort limit 5000 long mongoCursorCount mongoCursor count myLo
  • 如何创建并推送到共享或分布式数组数组?

    我编写了 Julia 代码 其中初始化一个空数组 如下所示 a 稍后在代码中 我简单地推送到该数组 如下所示 推 a b 其中 b c d e 是另一个数组 每个 b 可以具有不同的长度 这在非并行化代码中工作得很好 但是 我想在并行代码中
  • Java 垃圾收集,将引用设置为 null

    public class A A a public static void main String args A b new A new object created obj1 b a new A new object created ob
  • 使用 Werkzeug 和 Jinja2 的上下文处理器

    我的应用程序在 App Engine 上运行并使用Werkzeug http werkzeug pocoo org and Jinja2 http jinja pocoo org 2 我想要一个功能上与 Django 自己的上下文处理器等效
  • 尝试调用未定义的函数 glutInit

    我需要 python 中的一个过剩窗口 我使用 Python 3 5 和 PyOpenGL GLUT 时出现以下异常 Traceback most recent call last File D Test py line 47 in
  • Firestore没有执行操作的权限

    我正在尝试在 Firestore 中设置规则 如果每个人都经过身份验证进入应用程序 则每个人都可以读取彼此的内容 但只有文档所有者才能创建 写入 更新或删除它们 我在 Firestore 中设置了以下规则 rules version 2 s
  • Unity,如何将相机切换到第二个物体的位置?

    我在 Unity 3D 中遇到奇怪的问题 我的想法是找到数组中距离玩家最近和第二近的对象 然后我希望相机移动到最近的物体的位置并看着玩家 但如果玩家和最近的物体之间的距离太小 我希望相机移动到第二个物体的位置 我做了一些编码 但我不知道为什
  • 在 Silverlight 中使用 .NET RIA 服务有哪些陷阱?

    Silverlight可以使用WCF Web服务 基于REST的服务 NET RIA服务 但似乎Silverlight和 NET RIA服务是最受欢迎的 我想知道您在使用 NET RIA 服务实际实施 SL 时是否遇到过任何常见问题 如果继
  • 如何读取 RCFile

    我正在尝试将一个小的 RCFile 约 200 行数据 读入 HashMap 中以进行 Map Side 连接 但是在将文件中的数据变为可用状态时遇到了很多麻烦 这是我到目前为止所拥有的 其中大部分来自这个例子 http sumit1001
  • 如何从列表中选择每个第n个元素[重复]

    这个问题在这里已经有答案了 可能的重复 如何在 Haskell 中获取无限列表的每个第 N 个元素 https stackoverflow com questions 2026912 how to get every nth element