2017-02-12 131 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]