取一个元组列表并返回一个元组

ExecutionStyle21

我在Haskell中编写一个递归函数,该函数将一个元组列表作为输入并返回一个元组。返回的元组的第一部分应该是列表中的元组数,返回的元组的第二部分应该是列表中每个元组的所有元素。要清除此问题,示例运行应如下所示:

gather [ (0, [true, true] ), (1, [true, false] ), (2, [false, true]) ]
  returns (3, [true, true, true, false, false, true] )

我对Haskell相当陌生,但这是我对递归代码的尝试:

gather  [()] = [()]
gather n as = head as : gather n (take n as)
tupList :: [(a)] -> [(a)]
tupList n xs = map (\x -> gather n (take x xs)) [n..]

编译器根本不喜欢这种方法,关于如何解决此问题有什么建议吗?谢谢你的时间!

内斯

这是一个递归版本。它仅沿输入列表执行一次通过。进行两次独立通过通常会导致空间泄漏。

gather xs = g 0 xs 
  where
  g c []         = (c, [])
  g c ((_,ys):r) = (a, ys ++ b) 
                     where 
                     (a,b) = c `seq` g (c+1) r

seq当我们沿着列表前进时,会导致立即计算计数器。没有它,c+1可能会不必要地延迟的计算

实际上,这是受保护的递归。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Swift中返回一个元组

来自分类Dev

返回一个元组数组

来自分类Dev

Segfault返回一个元组

来自分类Dev

样式:返回一个元组

来自分类Dev

迭代一个列表元组

来自分类Dev

在元组中重复一个元组

来自分类Dev

XCTesting一个元组

来自分类Dev

从两个列表创建一个元组列表

来自分类Dev

将元组类型的键与一个元组列表中的元组列表的值合并,python

来自分类Dev

如何编写一个接受一个数字并返回一个三元组列表的函数“三元组”?

来自分类Dev

在元组的元组中找到一个元组

来自分类Dev

numpy.histogram 的输出元组返回一个包含两个不同长度列表的元组

来自分类Dev

Python:为什么str.split()返回一个列表,而str.partition()返回一个元组?

来自分类Dev

如何将元组列表中的唯一元素作为另一个元组返回

来自分类Dev

将列表的元组转换为一个列表

来自分类Dev

将列表的元组转换为一个列表

来自分类Dev

ocaml '一个列表列表函数元组

来自分类Dev

从元组列表中创建一个列表

来自分类Dev

在元组列表中,如果tuple [0]与列表中另一个元组[0]重复,则返回tuple [1]

来自分类Dev

从 1 个元组中减去一个元组中的 3 个列表

来自分类Dev

一个方法返回一个元组,如何在C#中分配两个取该元组结果的变量

来自分类Dev

返回一个元组数组作为AnyObject?

来自分类Dev

返回同一个元组的函数的方法签名?

来自分类Dev

返回一个项目系列作为熊猫的元组

来自分类Dev

Python 3.9:取消IsoCalendarDate数据返回一个元组

来自分类Dev

用Java语言返回一个元组

来自分类Dev

返回同一个元组的函数的方法签名?

来自分类Dev

元组列表到元组 C# 列表中的第一个元素列表

来自分类Dev

如何通过键求和一个元组列表

Related 相关文章

  1. 1

    在Swift中返回一个元组

  2. 2

    返回一个元组数组

  3. 3

    Segfault返回一个元组

  4. 4

    样式:返回一个元组

  5. 5

    迭代一个列表元组

  6. 6

    在元组中重复一个元组

  7. 7

    XCTesting一个元组

  8. 8

    从两个列表创建一个元组列表

  9. 9

    将元组类型的键与一个元组列表中的元组列表的值合并,python

  10. 10

    如何编写一个接受一个数字并返回一个三元组列表的函数“三元组”?

  11. 11

    在元组的元组中找到一个元组

  12. 12

    numpy.histogram 的输出元组返回一个包含两个不同长度列表的元组

  13. 13

    Python:为什么str.split()返回一个列表,而str.partition()返回一个元组?

  14. 14

    如何将元组列表中的唯一元素作为另一个元组返回

  15. 15

    将列表的元组转换为一个列表

  16. 16

    将列表的元组转换为一个列表

  17. 17

    ocaml '一个列表列表函数元组

  18. 18

    从元组列表中创建一个列表

  19. 19

    在元组列表中,如果tuple [0]与列表中另一个元组[0]重复,则返回tuple [1]

  20. 20

    从 1 个元组中减去一个元组中的 3 个列表

  21. 21

    一个方法返回一个元组,如何在C#中分配两个取该元组结果的变量

  22. 22

    返回一个元组数组作为AnyObject?

  23. 23

    返回同一个元组的函数的方法签名?

  24. 24

    返回一个项目系列作为熊猫的元组

  25. 25

    Python 3.9:取消IsoCalendarDate数据返回一个元组

  26. 26

    用Java语言返回一个元组

  27. 27

    返回同一个元组的函数的方法签名?

  28. 28

    元组列表到元组 C# 列表中的第一个元素列表

  29. 29

    如何通过键求和一个元组列表

热门标签

归档