我想從[1,26,3,94,51,6,7,8,9,10,11,12,73,29,19,90,76,87,1]
列表中的分組元素在Haskell
轉換列表,以[[1],[26,3],[94,51,6],[7,8,9,10],[11,12,73,29,19]]
並以此類推,直到在Haskell結束。 (我想組的元素在增加子列表的長度爲序)
我是新來的Haskell請幫我
我想從[1,26,3,94,51,6,7,8,9,10,11,12,73,29,19,90,76,87,1]
列表中的分組元素在Haskell
轉換列表,以[[1],[26,3],[94,51,6],[7,8,9,10],[11,12,73,29,19]]
並以此類推,直到在Haskell結束。 (我想組的元素在增加子列表的長度爲序)
我是新來的Haskell請幫我
您可以接收一個列表,並返回一個列表你自己的遞歸函數首先我們需要take列表中的n個元素,因爲我們稱之爲take n xs
,之後我們需要將元素與其餘元素一起使用,因此我們需要調用mySplit n+1
並刪除列表中的元素,所以我們只需要call drop n xs
drop。
mySplit :: Int -> [a] -> [[a]]
mySplit n [] = []
mySplit n xs = (take n xs):(mySplit (n + 1) (drop n xs))
ghci> mySplit 1 [1,26,3,94,51,6,7,8,9,10,11,12,73,29,19,90,76,87,1]
[[1],[26,3],[94,51,6],[7,8,9,10],[11,12,73,29,19],[90,76,87,1]]
什麼是分組標準?爲什麼'[26,3]'分組在一起?你有什麼嘗試?你卡在哪裏? –