Haskell 中是否有任何函数或方法可以帮助我获取元组列表,例如 [(1,2),(3,4),(5,6)]
和
返回 [1,2,3,4,5,6]
并使用列表理解?
我正在专门搜索一个函数,该函数采用参数 xs
和
在(函数的)主体中有一个列表理解。
最佳答案
鉴于元组列表名为 ts
,我们可以执行两次迭代:
[ t | (a, b) <- ts, t <- [a, b] ]
所以这里我们首先遍历ts
中的元组(a, b)
,接下来我们构造一个新的列表[a, b]
,我们也遍历该列表,并为 [a, b]
中的每个 t
生成 t
。
或者使用无点列表 monad:
(>>= uncurry ((. pure) . (:)))
关于使用列表理解将元组列表转换为列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50236845/