gpt4 book ai didi

haskell - 使用列表推导的列表子列表

转载 作者:行者123 更新时间:2023-12-04 18:15:02 25 4
gpt4 key购买 nike

就这么简单。我想使用列表理解生成列表的所有子列表。

即:getSublist [1,2,3] 是 [[1], [2], [3], [1,2], [1,3], [2, 3], [1,2,3]]

谢谢

最佳答案

这已经实现为 Data.List.subsequences ,但是如果你想自己定义它(出于学习目的),你可以这样做:

你不能只用列表推导来做到这一点,但是通过一些递归它看起来像这样:

sublists [] = [[]]
sublists (x:xs) = [x:sublist | sublist <- sublists xs] ++ sublists xs

阅读:空列表的唯一子列表是空列表。 x:xs 的子列表(即头部 x 和尾部 xs 的列表)是 xs 的所有子列表以及 xs 的每个子列表与 x放在他们面前。

关于haskell - 使用列表推导的列表子列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5149109/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com