制作列表列表 Haskell
Making List of Lists Haskell
我正在尝试获取坐标对,我有这个函数输出:[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 [] = [[]]
我如何得到它,它会让每一对成为一个列表,这样我就可以将它与我的其他函数一起使用,以获得最小的对
你快到了,你必须使用 [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]]
我正在尝试获取坐标对,我有这个函数输出:[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 [] = [[]]
我如何得到它,它会让每一对成为一个列表,这样我就可以将它与我的其他函数一起使用,以获得最小的对
你快到了,你必须使用 [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]]