Nodes/Basic data handling/create Data List of Lists
ComfyUI Node

create Data List of Lists

Build a list of lists, item by item

By StableLlama·Created about a year ago·Updated about 16 hours ago· 48
create Data List of Lists
  • item_0
  • list

Most ComfyUI list nodes build you a flat list - a row of strings, a row of numbers. DataListListCreate is the one for when each item in your list is itself a list. Think rows of a table, pairs of (prompt, seed), groups of images you want to keep bundled together while still processing them as individual units.

The trick in the name: this is a data list whose elements happen to be lists. Each input slot (item_0, item_1, item_2, …) takes one value, and if that value is itself a list, it stays a list inside the output. Feed it three lists and you get a list of three lists out.

How it works

The inputs are dynamic - start with item_0 and click the "+" to add more slots, as many as you need. Each slot accepts any type. The node bundles whatever you give it into a single output list where each input becomes one element. Because the output is flagged as a data list, downstream nodes see each of your sub-lists as an individual item, which is the whole point: you can iterate over "each group" rather than over "each value."

The dynamic-input pattern is a recurring feature of this pack, by the way - the creator clearly got tired of nodes with exactly three hardcoded inputs. If you're used to static nodes where what you see is what you get, the "+" button on the node title is the thing to look for.

Why you'd use it

This is the glue for anything tabular. Build a row from the pack's string or number nodes, feed several rows in here, and now you have a dataset your workflow can walk through. Pair it with DataListZip - one builds groups from parallel lists, this one builds groups by hand - and you can cover most "I have a bunch of related values that travel together" scenarios.

The author's own ecosystem leans this direction too. StableLlama (the person behind the pack) does heavy dataset work in the community - mass image generation for training data, HF dataset publishing - so the list-of-lists node is squarely aimed at people who treat ComfyUI as a data pipeline, not just a renderer.

Installing it

This ships in the Basic data handling pack, pure Python, zero dependencies, no models to download. Install once, get all 250+ nodes:

cd ComfyUI/custom_nodes
git clone https://github.com/StableLlama/ComfyUI-basic_data_handling

Then restart ComfyUI (or use Refresh). ComfyUI Manager users can search "Basic data handling" and click install instead. Because the pack has no third-party dependencies, you skip the pip-conflict lottery that some custom node packs bring with them.

Common issues

The main gotcha is forgetting that "list of lists" means exactly that: if you connect a data list into item_0 expecting it to be flattened into the output, it won't be - it arrives as a single nested element. That's usually the behavior you want, but if you were hoping for a flat merge, you want DataListExtend instead. Also, keep in mind the output's sub-lists are processed individually downstream, so a node expecting one item at a time will receive a whole list as its item - that's the feature, but it can look like a type mismatch until you recognize it.

CategoryBasic/Data List

Inputs (1)

NameTypeDefaultDescription
item_0opt*

Outputs (1)

NameTypeDescription
list*