小编Mir*_*nov的帖子

Haskell 列表理解创建所有可能的值组合

我想创建一个列表列表,其中包含大小为 n 的较小列表内所有可能的值组合

例如,假设我有列表 [1,2,3] 并且 n 等于 2。输出将是: [[1,1],[1,2],[1,3],[2 ,1],[2,2],[2,3],[3,1],[3,2],[3,3]]

对于固定的 N 来说,这听起来很简单,但是对于不确定的 N 值,它会如何工作呢?

到目前为止我已经尝试过:

[[x,y] | x <- [1,2,3], y <- [1,2,3]] 
Run Code Online (Sandbox Code Playgroud)

这适用于固定的 n 2。但我不知道如何让它依赖于 N。

combinations haskell list-comprehension list

1
推荐指数
1
解决办法
490
查看次数

可以在 Haskell 列表推导式中使用 if 结构吗?

是否可以if在列表推导式中使用某种语句来确定列表中每个元素的多个结果之一?

假设我对包含 a0或 a元素的列表有一个列表理解1

如果值为 a 0,则字符串"off"需要存储在另一个列表中的相同位置。如果该值1"on"

这只是一个例子。使用递归看起来很容易完成,但是如果需要在列表列表上完成怎么办?还是列表列表?

haskell if-statement list-comprehension

1
推荐指数
1
解决办法
68
查看次数