2017-02-12 136 views
1

我是Haskell的新手,学习列表。我有以下列表[1, 2, 3]和另一个列表[4, 5, 6]。我试图找到一种方式来获得以下输出:haskell中的列表理解

[[1, 2, 3, 4], [1, 2, 3, 5], [1, 2, 3, 6]] 

也就是说,每个元素在第二个列表,我想创建一个新的列表,它是第一个清单,追加该元素。

回答

4

如果a = [1, 2, 3]b = [4, 5, 6],你可以做这样的事情:

map (\x -> a ++ [x]) b 

对于b每一个元素,map将应用功能\x -> a ++ [x]。 此功能连接两个列表,a[x]

你也可以把它写成一个列表理解:

[a ++ [x] | x <- b]