List 将元组列表转换为具有列表理解功能的元素列表

List 将元组列表转换为具有列表理解功能的元素列表,list,haskell,list-comprehension,List,Haskell,List Comprehension,我目前正在准备10月份的考试,我面临着一个问题,我似乎找不出一个好的解决办法 我想读入一个整数元组列表,如下所示: [(1,2)、(3,4)、(5,6),…]并希望列表理解返回[1,2,3,4,5,6,…] 下面的工作很好,但我希望它在一个列表中 func :: [(Integer, Integer)] -> [Integer] func xs = concat [ [x,y] | (x,y) <- xs ] func::[(整数,整数)]->[整数] func xs=concat

我目前正在准备10月份的考试,我面临着一个问题,我似乎找不出一个好的解决办法

我想读入一个整数元组列表,如下所示: [(1,2)、(3,4)、(5,6),…]并希望列表理解返回[1,2,3,4,5,6,…]

下面的工作很好,但我希望它在一个列表中

func :: [(Integer, Integer)] -> [Integer]
func xs = concat [ [x,y] | (x,y) <- xs ]
func::[(整数,整数)]->[整数]
func xs=concat[[x,y]|(x,y)您可以在列表的右侧部分使用额外的迭代,如:

func :: [(a, a)] -> [a]
func xs = [ xi | (x1, x2) <- xs, xi <- [x1, x2] ]
func::[(a,a)]->[a]

Func xs=(席)(X1,X2)我以前见过这个,但是不能真正弄清楚背后的逻辑。谢谢你,我会用这个来修补一下!