【发布时间】:2015-05-31 03:12:08
【问题描述】:
说我想这样做:
nestedChunksOf [3, 2] [1,1,1,2,2,2,3,3,3,4,4,4] == [[[1,1,1], [2,2,2]], [[3,3,3], [4,4,4]]]
在 Python 中,我可以做到这一点
def group(a, *ns):
for n in ns:
a = [a[i:i+n] for i in xrange(0, len(a), n)]
return a
group([1,1,1,2,2,2,3,3,3,4,4,4], 3, 2) == [[[1,1,1],[2,2,2]],[[3,3,3],[4,4,4]]]
但在 Haskell 中,我不能只说
nestedChunksOf :: [Int] -> [a] -> [[a]]
或
nestedChunksOf :: [Int] -> [a] -> [[[a]]]
那么我怎样才能在 Haskell 中实现同样的目标呢?
【问题讨论】: