create LIST from BOOLEANs
Create LIST from BOOLEANs — a typed list that can't quietly drift
- LIST
If you're collecting yes/no answers to collapse with all or any, you want the typed version: create LIST from BOOLEANs. It's the same dynamic-inputs mechanism as the generic create LIST, but every slot is typed as BOOLEAN and every value gets coerced to a real True or False before it lands in the list. No drift, no surprises when you feed the result into logic that assumes booleans.
How it works
The node grows item_0, item_1, … slots as you add them, and each one runs through bool() on the way in:
values = [bool(value) for value in list(kwargs.values())[:-1]]
So anything truthy - a non-zero number, a non-empty string, an actual True - becomes True. Anything falsy - 0, "", None, False - becomes False. That's a feature most of the time: if a condition node hands you a 1 or 0 instead of a proper boolean, this normalizes it for you. Just remember it means the string "False" (non-empty, therefore truthy) still becomes True. The trailing empty slot gets dropped, same as every create-node in the pack.
Output is a single LIST of booleans, ready for all (AND across the batch), any (OR across the batch), or count False for a failure tally.
Where you'd use it
- Batch conditionals. Run a per-item check on several things, collect the booleans, then let
alldecide if the whole batch is clean. - Option flags. Build a list of "is this feature on?" booleans and route on combinations.
- Normalizing messy truthiness from other nodes into clean
True/Falsevalues before comparison.
Installing
Part of the "Basic data handling" pack by StableLlama. ComfyUI Manager: search "Basic data handling", install, restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/StableLlama/ComfyUI-basic_data_handling
Restart ComfyUI. Zero dependencies, no models - pure Python, and the simplest kind of custom-node install there is.
Gotchas worth knowing
bool()coercion means the string"False"and the number2both becomeTrue. If you need literal values preserved, use the genericcreate LISTinstead.- The trailing empty slot is dropped, so you can't end with an empty string here either.
- It builds a LIST (single Python list variable), not a native data list - the same distinction that runs through the whole pack.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| item_0opt | BOOLEAN | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| LIST | LIST | — |