﻿ group – Algosim documentation
Algosim documentation: group

# group

Partitions the elements of a list into same-size groups.

## Syntax

• `group(L, n)`

• `L` is a list

• `n` is a positive integer

## Description

If `L` is list and `n` divides `#L`, then `group(L, n)` returns a list of length `#L / n` in which each element is a list of length `n` containing elements of `L` in such a way that all elements of `L` are found in their original order when the result is read in row-major order.

If `n` does not divide `#L`, then `group(L, n)` returns a list of length `⌈#L / n⌉` as above with the additional elements of the last list being null objects.

## Examples

`s ≔ "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."`
`Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.`
`w ≔ words(s) \ 10`
```Lorem
ipsum
dolor
sit
amet
consectetur
elit
sed
do
⋮
```
`group(w, 3) \ 10`
```(Lorem, ipsum, dolor)
(sit, amet, consectetur)
(do, eiusmod, tempor)
(incididunt, ut, labore)
(et, dolore, magna)
(aliqua, Ut, enim)
(quis, nostrud, exercitation)
(ullamco, laboris, nisi)
⋮
```
`matrix(group(SequenceList(100), 10))`
```⎛  1    2    3    4    5    6    7    8    9   10⎞
⎜ 11   12   13   14   15   16   17   18   19   20⎟
⎜ 21   22   23   24   25   26   27   28   29   30⎟
⎜ 31   32   33   34   35   36   37   38   39   40⎟
⎜ 41   42   43   44   45   46   47   48   49   50⎟
⎜ 51   52   53   54   55   56   57   58   59   60⎟
⎜ 61   62   63   64   65   66   67   68   69   70⎟
⎜ 71   72   73   74   75   76   77   78   79   80⎟
⎜ 81   82   83   84   85   86   87   88   89   90⎟
⎝ 91   92   93   94   95   96   97   98   99  100⎠
```