我是Haskell的新手并且了解列表。我有以下列表[1, 2, 3]
和另一个列表[4, 5, 6]
。我试图找到一种方法来获得以下输出:
[[1, 2, 3, 4], [1, 2, 3, 5], [1, 2, 3, 6]]
也就是说,对于第二个列表中的每个元素,我想创建一个新列表,这是第一个附加了该元素的列表。
答案 0 :(得分: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]