使用列表理解的列表的子列表
就这么简单。我想使用列表理解生成列表的所有子列表。
即: getSublist [1,2,3] 为 [[1], [2], [3], [1,2], [1,3], [2, 3], [1,2,3]]
谢谢
That simple. I want to generate all sublists of a list using list comprehension.
i.e: getSublist [1,2,3] is [[1], [2], [3], [1,2], [1,3], [2, 3], [1,2,3]]
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这已经被实现为 Data.List.subsequences ,但是如果您想自己定义它(出于学习目的),您可以这样做:
您不能仅使用列表推导式来做到这一点,但通过一些递归,它看起来像这样:
阅读:空列表的唯一子列表是空列表。
x:xs
的子列表(即头部x
和尾部xs
的列表)是xs 的所有子列表
以及xs
的每个子列表(前面添加了x
)。This is already implemented as
Data.List.subsequences
, but if you want to define it yourself (for learning purposes), you can do it like this:You can't do it with only list comprehensions, but with some recursion it looks like this:
Read: The only sublist of the empty list is the empty list. The sublists of
x:xs
(i.e. the list with the headx
and the tailxs
) are all of the sublists ofxs
as well as each of the sublists ofxs
withx
prepended to them.