列表理解列表中的元组列表

Kub*_*bun 1 haskell list-comprehension list

是否有哈斯克尔这有助于我把一个元组的列表,例如任何函数或方法[(1,2),(3,4),(5,6)],并
返回[1,2,3,4,5,6]与列表理解的作品?

我专门搜索一个函数,它接受一个参数xs并且
在函数体(函数体)中有一个列表理解.

Wil*_*sem 7

鉴于元组列表已命名ts,我们可以执行两次迭代:

[ t | (a, b) <- ts, t <- [a, b] ]
Run Code Online (Sandbox Code Playgroud)

所以在这里我们首先遍历元组(a, b)ts,接下来我们构建一个新的列表[a, b],我们遍历该列表,以及,我们得到t每一个t[a, b].

或者使用无点列表monad:

(>>= uncurry ((. pure) . (:)))
Run Code Online (Sandbox Code Playgroud)

  • 顺便说一句,无点版本会更清晰,因为`(uncurry(:).second(:[])= <<)`:"将第一个元素包含在每个对的列表中包含的第二个元素".(`second`来自`Control.Arrow`,在这种情况下可以用`fmap`替换.) (3认同)