相关疑难解决方法(0)

Haskell中两个列表的元素的所有组合

给出两个列表,[a, b]并且[c, d],我想得到以下结果:

[(a,c), (a,d), (b,c), (b,d)]
Run Code Online (Sandbox Code Playgroud)

我怎么能在Haskell中做到这一点?是否有内置功能,或者我应该自己实现?

combinations haskell tuples list

17
推荐指数
5
解决办法
8117
查看次数

删除语法糖:Haskell中的列表理解

我可以在这个表达式中解释列表理解:

[(i,j) | i <- [1..4], j <- [i+1..4]]
Run Code Online (Sandbox Code Playgroud)

这是输出:

[(1,2),(1,3),(1,4),(2,3),(2,4),(3,4)]
Run Code Online (Sandbox Code Playgroud)

我怎么能用地图,过滤器等编写那段代码?

编辑

这是另一个:

[(i,j,k) | i <- [1..6], j <- [i+1..6],k <- [j+1..6]]
Run Code Online (Sandbox Code Playgroud)

这是输出:

[(1,2,3),(1,2,4),(1,2,5),(1,2,6),(1,3,4),(1,3,5),(1,3,6),(1,4,5),(1,4,6),(1,5,6),(2,3,4),(2,3,5),(2,3,6),(2,4,5),(2,4,6),(2,5,6),(3,4,5),(3,4,6),(3,5,6),(4,5,6)]
Run Code Online (Sandbox Code Playgroud)

haskell functional-programming list-comprehension list lazy-evaluation

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