Nodes/Basic data handling/create Data List from FLOATs
ComfyUI Node

create Data List from FLOATs

Build a FLOAT list from plain numbers — decimal values, batch-ready

By StableLlama·Created about a year ago·Updated 4 days ago· 48
create Data List from FLOATs
    • list
    item_0

    CFG scales, denoise strengths, upscale factors - the decimal dials of a workflow. When you want to test a spread of them ("CFG 3.5, 4.5, 5.5…") the old way is duplicate samplers. The better way is a FLOAT list: one collection of values that fans out across your graph. create Data List from FLOATs is the node that builds it.

    It's part of Basic data handling, StableLlama's zero-dependency utility pack, and it's the float-flavored version of the pack's list builders (INT, BOOLEAN, and STRING siblings exist too).

    How it works

    Same dynamic-input pattern as its siblings: start with item_0 (a FLOAT), right-click to add item_1, item_2, and so on. Each added widget becomes one element of the output. Values are coerced through float(), so 3 typed as an int still lands as 3.0.

    Output list is a FLOAT data list. The distinction matters here: it's a batch. Wire it into a sampler's CFG input and ComfyUI runs the sampler once per value - a whole CFG sweep from a single node. That's the entire point of the Data List family.

    What you set

    • item_0 (FLOAT, optional) - the first value; add more as needed.

    One output: list, the assembled FLOAT data list.

    A realistic use

    Parameter sweeps are the classic case. Build a list of denoise values (0.3, 0.5, 0.7), feed it into a img2img sampler's denoise input, and you get three outputs at three denoise strengths in one run - then pick the winner. Same trick works for CFG, upscale factors, or any FLOAT a node accepts.

    Installing it

    ComfyUI Manager → search "Basic data handling", or:

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

    Restart. No dependencies, no models.

    Common issues

    • "My integer got a .0 and I didn't ask for it." That's the coercion doing its job - float() always produces a decimal. If you want whole numbers, use the INT list builder instead.
    • "The list has a trailing entry." The dynamic container reserves a slot; a blank widget coerces to 0.0 and pollutes your sweep. Fill or disconnect every input you're not using.
    • "One bad value threw the whole run." A widget holding text where a number belongs fails at float(). Keep the inputs numeric and the sweep runs clean.
    CategoryBasic/Data List

    Inputs (1)

    NameTypeDefaultDescription
    item_0optFLOAT

    Outputs (1)

    NameTypeDescription
    listFLOAT