使用列表理解将元组列表转换为列表

标签 list haskell list-comprehension

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/

相关文章:

c# - 在 C# 中使用静态变量

list - 如何递归检查列表是否在 Lisp 中排序?

Haskell,重复+排列的组合

sorting - Elixir 如何对列表理解进行排序?

python - 将 for 循环转换为列表理解

list - 如何在 Haskell 中保持比率的非约简形式

python - 如何将列表中的两个相邻元素相乘?

haskell - 在计算机科学的背景下,什么是超功能?

haskell - Haskell 代码中函数 (toEnum . fromEnum) 的用途是什么?

haskell - 枚举整数的所有有限序列?