【发布时间】:2021-03-02 00:48:40
【问题描述】:
假设我有一些列表[[a, b], [c], [d, e, f], ...],其中列表中的列表可以是任意长度。我已经对列表进行了排序,使得最短的列表排在第一位,并且我想生成列表中所有元素组合的列表,以便我得到一个列表[[a, c, d, ...], [a, c, e, ...], [a, c, f, ...], [b, c, d, ...], ...],即通过更改从中选择的元素来生成组合最后的列表首先,向上移动列表以更改类似于计数的元素。
使用这个列表,我将在列表的头部使用惰性求值,因为我只需要 1 个满足谓词的列表。如何生成列表?
【问题讨论】:
标签: haskell functional-programming list-comprehension nested-lists combinatorics