Split lists into chunks
chunksOfLeft : Basics.Int -> List a -> List (List a)
Split list into smaller lists of length k
, starting from the left.
chunksOfLeft 3 (List.range 1 9) == [ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ] ]
chunksOfLeft 3 [1,2,3,4,5,6,7,8] == [ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8 ] ]
chunksOfLeft 3 [] == [[]]
chunksOfLeft 0 xs == [[]]
chunksOfLeft -1 xs == []
chunksOfRight : Basics.Int -> List a -> List (List a)
Split list into smaller lists of length k
, starting from the right.
chunksOfRight 3 (List.range 1 9) == [ [ 7, 8, 9 ], [ 4, 5, 6 ], [ 1, 2, 3 ] ]
chunksOfRight 3 [1,2,3,4,5,6,7,8] == [ [ 6, 7, 8 ], [ 3, 4, 5 ], [ 1, 2 ] ]
chunksOfRight 3 [] == [[]]
chunksOfRight 0 xs == [[]]
chunksOfRight -1 xs == []