我想要一个函数,在列表的每个列表中([[],[],[]])生成元素的总和,如果它甚至添加到该列表0和1,否则.
我试过这个,但它只是对列表的头部正确,我不知道如何对其他人.
func :: Matrix -> Matrix
func (Matr size (x:xs))
|sum(x) `mod` 2 == 0 = (Matr size ((0:x):xs))
|otherwise = (Matr size ((1:x):xs))
Run Code Online (Sandbox Code Playgroud)
我的尝试:
[1,1,0,0]
[1,0,0]
[1,1,0]
Run Code Online (Sandbox Code Playgroud)
我想要的是:
[1,1,0,0]
[1,1,0,0]
[0,1,1,0]
Run Code Online (Sandbox Code Playgroud)
谢谢.
我想要一个函数,它给出了给定列表中所有列表的所有头的总和.我正在尝试这个:
verticalParity :: [Int] -> [Int] -> Int
verticalParity (x:xs) (y:ys) = x + y
Run Code Online (Sandbox Code Playgroud)
为什么我不能这样做?
map verticalParity [[2,0,2,2,2,1], [5000,0,2,3,2,1], [26,1,2,3,44,4]]
Run Code Online (Sandbox Code Playgroud) Prelude中是否有一个删除外部"[]"的函数?例如,在这种情况下:
f [[[1,0,0]],[[1,0,0]]] = [[1,0,0],[1,0,0]]
Run Code Online (Sandbox Code Playgroud)