Nodes/ComfyUI_ezXY/Number from List
ComfyUI Node

Number from List

Pull one number out of a list, per grid cell

By GMapeSplat·Created 3 years ago·Updated 2 years ago· 25
Number from List
    • list item
    • size
    • wraps
    list_input
    index0

    Number from List is String from List's numeric twin - same index-picking mechanism, just for the FLOAT values you get out of Numbers to List instead of text. It's how a single CFG or steps sweep gets distributed across an entire XY grid without retyping the value into every cell by hand.

    How it works

    Feed list_input your source list of numbers (typically the list output of Numbers to List) and index the position you want. Like its string sibling, index can be a single number for a one-off pick or a list - wire in ezXY Driver's x indices or y indices and this node runs once per index, handing back list item as a list of picked values, one per grid cell, off a single wire. That's the mechanism the whole ezXY grid pattern is built on: ComfyUI already executes a node once per item when it receives a list input, and these picker nodes just make that behavior deliberate.

    Inputs and outputs

    • list_input (FLOAT) - your source list, from Numbers to List or anywhere else producing a float list.
    • index (INT, default 0) - which item to pick, scalar or list.
    • list item - the picked value(s), as a list matching whatever you fed index.
    • size - length of list_input, a single number.
    • wraps - how many times each pick wrapped around the list's length, matching list item's shape. Nonzero means your index range is longer than your value list - you're repeating values, not erroring.

    Installing ComfyUI_ezXY

    ComfyUI Manager: search "ComfyUI_ezXY", install, restart. Manual clone:

    cd ComfyUI/custom_nodes
    git clone https://github.com/GMapeSplat/ComfyUI_ezXY.git
    

    No models, no heavy dependencies.

    Common issues & troubleshooting

    The everyday gotcha is the same as its string sibling: if your grid's index range (from ezXY Driver or Iteration Driver) is bigger than your Numbers to List entry, you'll wrap around instead of failing loudly. Check wraps - wire it into Line to Console once while you're setting up a new sweep, then remove it once you've confirmed the sizes line up.

    This node also depends on the pack's runtime type-casting patch to connect a FLOAT output into places expecting an INT (a KSampler's steps, say) - that patch (autoCastPatch.py, toggleable in config.yaml) is the single most fragile part of ComfyUI_ezXY, and a real crash from that file has been reported when it couldn't cast a value cleanly. If Number from List's output refuses to connect where you expect, or throws instead, that's the patch, not the picker logic.

    And the pack-wide warning still applies: the README says directly it "does not work with current version of Comfyui," and a 2025 GitHub issue shows someone stuck enough to ask about forking a node out because the repo had broken and gone unmaintained for a while. Worth checking issues there before assuming your own graph is at fault.

    CategoryezXY/utility

    Inputs (2)

    NameTypeDefaultDescription
    list_inputFLOAT
    indexINT0-999–999

    Outputs (3)

    NameTypeDescription
    list itemFLOAT
    sizeINT
    wrapsINT