我正在尝试获得一对坐标,我有这个功能输出:[9,0,9,1] .......等
addVal :: Int -> [Int] -> [Int]
addVal i [] = []
addVal i (x:xs) = i:x : addVal i xs
但我希望输出是一个列表列表:[[9,0],[9,1]]
addVal :: Int -> [Int] -> [[Int]]
addVal i [] = [[]]
我如何得到它所以它会使每一对成为一个列表,所以我可以使用它与我的其他函数来获得最小的对
答案 0 :(得分:1)
你几乎在那里,而不是i:x
你必须使用[i,x]
。请注意,您需要新列表中的元素,因此您需要创建[i,x]
并将其传递出来。
addVal :: Int -> [Int] -> [[Int]]
addVal i [] = []
addVal i (x:xs) = [i,x] : addVal i xs
演示ghci
λ> addVal 9 [1,2]
[[9,1],[9,2]]