_.values
Pull the values out of a dict, in order
- py_dict
- LIST
_.values is the "just the values, please" node. Give it a dict and it returns a list of that object's own property values, in key order. It's the sibling of _.keys and the inverse of _.zipObject - if you've got a config dictionary floating around your graph and you want its contents as a plain ordered list, this is the one-liner.
It belongs to the auto-generated ovum/underscore family in comfy-ovum, sfinktah's personal grab-bag pack. Standard family disclaimer, and it's worth repeating because the README says it so plainly: these nodes are "an absolute disaster to use in production," WIP, not recommended for live workflows. _.values is one of the safer ones - no mutation, no options, one input - but the family label is the pack author's own, so treat these as graph-assembly conveniences.
How it works
Every _. method node wraps underscore3, the Python port of Underscore.js bundled inside the repo. This one calls values(): it iterates the dict's own keys and collects the corresponding values into a list. Order follows the dict's iteration order, which in modern Python is insertion order - so {"a": 1, "b": 2} → [1, 2].
Chaining works like the rest of the family: hand it a _.CHAIN and it continues the pipeline; hand it a plain dict and you get the list immediately. The output is typed as LIST, which is more helpful than most of its siblings - at least Comfy knows downstream you're getting a list.
Inputs and output
py_dict- the dict to extract from (type*, optional; the wrapper accepts any JSON-serializable value, and also a_.CHAIN). Despite the name, it's a generic socket - there's no widget to type into, so wire something in.- Output:
LIST.
Install
Manager: search comfy-ovum, install, restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/sfinktah/comfy-ovum
Restart. No model downloads; underscore3 ships inside the repo, so nothing extra to install.
When it's useful
Say you've assembled a dict of generation parameters (via Workflow Widget To Any or a JSON constant) and a downstream node wants them as a flat list - _.values is the bridge. Pair it with _.keys to get the names, or with _.zip to combine two dicts' worth of values positionally. If your workflow never builds dicts, you'll never touch it, and that's fine - it's a small, well-behaved utility in a family that isn't all well-behaved.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| py_dictopt | * | Primary input object (expected object). You can still pass any JSON-serializable value. Also accepts _.CHAIN to continue chaining. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| LIST | LIST | — |