Haskell中列表的第K个元素

mid

我是Haskell的初学者,并且尝试实现一个函数,该函数不使用!!内置的prelude即可返回列表的第k个元素

kth_i [] _ _ = -1
kth_i (x:xs) i k = if i == k then x else kth_i xs (i + 1) k
kth xs k = kth_i xs 0 k

该代码有效,但是太冗长。我只想使用一个功能。

编辑:我最终得到:

let kth (x:xs) k = if k == 0 then x else if k < 0 then error "out of bounds" else  kth xs (k - 1); kth [] _ = error "out of bounds"

根据@Carsten的建议。

卡斯滕

因此,我想您找到了解决方案,但请允许我为您提供更好的解决方案:

kth :: [a] -> Integer -> a
kth (x:xs) i
   | i < 0  = error "out of bounds"
   | i == 0 = x
   | i > 0  = kth xs (i-1)
kth [] _    = error "empty list"

它使用了警卫而不是ifs-因此,如果您在未看到警卫的情况下,则可能应该点击链接并阅读维基

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Prolog在列表中查找第K个元素

来自分类Dev

转换数组中的第K个元素

来自分类Dev

使用递归在Python列表中查找第K个最大元素

来自分类Dev

使用foldr查找列表的第K个元素

来自分类Dev

查找单链列表的第k个元素

来自分类Dev

查找单链列表的第k个元素

来自分类Dev

从第ith个元素到第j个元素提取元素范围,直到列表中的第n个元素

来自分类Dev

在第n个元素之后在Python列表中插入元素

来自分类Dev

根据第n个元素删除列表中的列表

来自分类Dev

如何使列表中的第n个元素成为自己的列表?

来自分类Dev

Haskell-从末尾找到第k个元素,而Haskell的模式不匹配

来自分类Dev

如何在Haskell元组中访问第n个元素

来自分类Dev

如何在Haskell元组中访问第n个元素

来自分类Dev

删除链表中的第k个元素(Java实现)

来自分类Dev

在扩展字符串中查找第k个元素

来自分类Dev

使用分区的数组中第K个最小元素

来自分类Dev

特殊矩阵的螺旋遍历中的第K个元素

来自分类Dev

递归获得数组中第k个最小的元素

来自分类Dev

特殊矩阵的螺旋遍历中的第K个元素

来自分类Dev

在数组MIPS中查找第K个不同的元素

来自分类Dev

在Haskell中,最常见的将函数应用于列表的第N个元素的方法是什么?

来自分类Dev

列表的第n个元素

来自分类Dev

从列表中打印第k个元素。列表将基于另一个数组中存在的数字获得

来自分类Dev

如何同时在列表中打印第n个元素?

来自分类Dev

对子列表中的第ith个元素进行序言

来自分类Dev

fsharp从列表中获取第n个元素

来自分类Dev

在R中引用列表的第i个元素

来自分类Dev

在列表中的每第 7 个元素后插入 null

来自分类Dev

Racket,编写查找列表中第 n 个元素的函数

Related 相关文章

  1. 1

    Prolog在列表中查找第K个元素

  2. 2

    转换数组中的第K个元素

  3. 3

    使用递归在Python列表中查找第K个最大元素

  4. 4

    使用foldr查找列表的第K个元素

  5. 5

    查找单链列表的第k个元素

  6. 6

    查找单链列表的第k个元素

  7. 7

    从第ith个元素到第j个元素提取元素范围,直到列表中的第n个元素

  8. 8

    在第n个元素之后在Python列表中插入元素

  9. 9

    根据第n个元素删除列表中的列表

  10. 10

    如何使列表中的第n个元素成为自己的列表?

  11. 11

    Haskell-从末尾找到第k个元素,而Haskell的模式不匹配

  12. 12

    如何在Haskell元组中访问第n个元素

  13. 13

    如何在Haskell元组中访问第n个元素

  14. 14

    删除链表中的第k个元素(Java实现)

  15. 15

    在扩展字符串中查找第k个元素

  16. 16

    使用分区的数组中第K个最小元素

  17. 17

    特殊矩阵的螺旋遍历中的第K个元素

  18. 18

    递归获得数组中第k个最小的元素

  19. 19

    特殊矩阵的螺旋遍历中的第K个元素

  20. 20

    在数组MIPS中查找第K个不同的元素

  21. 21

    在Haskell中,最常见的将函数应用于列表的第N个元素的方法是什么?

  22. 22

    列表的第n个元素

  23. 23

    从列表中打印第k个元素。列表将基于另一个数组中存在的数字获得

  24. 24

    如何同时在列表中打印第n个元素?

  25. 25

    对子列表中的第ith个元素进行序言

  26. 26

    fsharp从列表中获取第n个元素

  27. 27

    在R中引用列表的第i个元素

  28. 28

    在列表中的每第 7 个元素后插入 null

  29. 29

    Racket,编写查找列表中第 n 个元素的函数

热门标签

归档