Diysb Tools

Chunk List

Split a list into consecutive chunks of a fixed size. This tool separates input items, chunks them sequentially, optionally pads incomplete chunks, and formats the output using custom separators and wrappers.

List Tools
Input list
Grouped output
Tool options
Input Item Separator
Use Symbol Splitting
Split input items using a single character.
Use Regex Splitting
Split input items using a regular expression.
Delimiter symbol or regular expression used to split input items.
Group Size and Output Format
Number of items per group
Separator placed between items inside a group
Separator placed between groups
Symbol added before each group
Symbol added after each group
Empty Items and Padding
Ignore empty items and exclude them from the result.
Fill the last group if it has fewer items than required.
Character or value used to pad incomplete groups.
Chunk List Examples

Group Hexagon Coordinates

In this example, we group the coordinates of a regular hexagon. The input coordinates are given as a space-separated list "x1 y1 x2 y2 x3 y3 …". What we want to do is create vector point pairs such as "(x1, y1); (x2, y2); (x3, y3); …". To do that, we use the space character as the input coordinate separator, and to create vectors, we group them by pairs. We wrap the coordinates in parentheses, put a comma between the x and y group items, and a semicolon between individual groups.

Input
2.5 9.33 0 5 2.5 0.66 7.5 0.66 10 5 7.5 9.33
Output
(2.5, 9.33); (0, 5); (2.5, 0.66); (7.5, 0.66); (10, 5); (7.5, 9.33)
Input Item Separator
Use Symbol Splitting
Split input items using a single character.
Use Regex Splitting
Split input items using a regular expression.
Delimiter symbol or regular expression used to split input items.
Group Size and Output Format
Number of items per group
Separator placed between items inside a group
Separator placed between groups
Symbol added before each group
Symbol added after each group
Empty Items and Padding
Ignore empty items and exclude them from the result.
Fill the last group if it has fewer items than required.
Character or value used to pad incomplete groups.

Chunks of Size 3

This example demonstrates grouping of list items and creates 9 groups of 3 items. The input list contains all alphabet letters (26 letters, separated by a semicolon) and the output is groups of letter trigrams. As the last group is missing one letter, we enable padding and add the underscore symbol as the padding element.

Input
a;b;c;d;e;f;g;h;i;j;k;l;m;n;o;p;q;r;s;t;u;v;w;x;y;z
Output
[a, b, c]
[d, e, f]
[g, h, i]
[j, k, l]
[m, n, o]
[p, q, r]
[s, t, u]
[v, w, x]
[y, z, _]
Input Item Separator
Use Symbol Splitting
Split input items using a single character.
Use Regex Splitting
Split input items using a regular expression.
Delimiter symbol or regular expression used to split input items.
Group Size and Output Format
Number of items per group
Separator placed between items inside a group
Separator placed between groups
Symbol added before each group
Symbol added after each group
Empty Items and Padding
Ignore empty items and exclude them from the result.
Fill the last group if it has fewer items than required.
Character or value used to pad incomplete groups.

Convert a List to a TSV

In this example, we use our list item grouper to convert a food list to tab-separated values (TSV). As spaces are chaotically used between the items of the input list, we use the item separating regular expression "\s+" to match them. We create a TSV with three columns (three groups), separate them with a tab character, and put newlines between the groups.

Input
beef	buns
  cake		corn
 crab
dill
fish
    kiwi	kale

  lime	meat
mint
   milk
  pear	plum
      pate
  pork	    rice
soup
  tuna
  tart
Output
beef	buns	cake
corn	crab
dill	fish
kiwi	kale	lime
meat	mint	milk
pear	plum	pate
pork	rice	soup
tuna	tart
Input Item Separator
Use Symbol Splitting
Split input items using a single character.
Use Regex Splitting
Split input items using a regular expression.
Delimiter symbol or regular expression used to split input items.
Group Size and Output Format
Number of items per group
Separator placed between items inside a group
Separator placed between groups
Symbol added before each group
Symbol added after each group
Empty Items and Padding
Ignore empty items and exclude them from the result.
Fill the last group if it has fewer items than required.
Character or value used to pad incomplete groups.