War*_*ive 0 haskell list-comprehension
如何创建这样的列表理解给出
[(i,j) | i <- [1..4], j <- [1..4]] yields the following:
[(1,1),(2,1),(3,1),(4,1),(2,2),(3,2),(4,2),(3,3),(4,3),(4,4)]
Run Code Online (Sandbox Code Playgroud)
即列出关于j的所有组合?
PS.交换"i"和"j"的地方不是我想要的解决方案.
因为在你想要的输出中,第一个组件总是至少和第二个组件一样大,让我们从1 i
开始j
,而不是从1开始:
[(i,j) | j <- [1 .. 4], i <- [j .. 4]]
Run Code Online (Sandbox Code Playgroud)
首先使用j <- [1 .. 4]
发电机,j
它在范围内并且可以用于i
发电机.