Nodes/RuiquNodes for ComfyUI/EvaluateListMultiple1
ComfyUI Node

EvaluateListMultiple1

Run Python element-wise over a list, one lane

By ruiqutech·Created 2 years ago·Updated 2 years ago· 0
EvaluateListMultiple1
  • in1
  • out1
expression# 表达式为element-wise,合并时自动跳过全None的输出
input_count1
print_to_console

Same idea as this pack's EvaluateMultiple1 - you write Python, it runs - but built for list-typed data rather than one scalar value. Reach for this one when something upstream already handed you a batch (a list of prompts, a list of numbers, a list of file paths) and you want your expression to run once per item, not once total against the whole list as a blob.

What the node tells you about itself

Unlike EvaluateMultiple1, which starts with a completely blank expression box, this one ships with the author's own hint already typed in. Translated from the original Chinese comment: "the expression is element-wise; automatically skips outputs that are entirely None when merging." That's the node stating its own contract up front - whatever you write runs against each element of the list in turn, and if an output column comes back None for every single element after the run, that column gets dropped instead of being handed downstream as a list of Nones.

Inputs and outputs

  • expression (multiline STRING) - pre-filled with the element-wise hint above; overwrite it with your actual logic.
  • input_count (INT, 1–20, default 1) - same widget as every variant in both the Evaluate and EvaluateList families.
  • print_to_console - echoes results to your ComfyUI terminal.
  • Optional: in1 (type *).
  • Output: out1, but list-flavored (is_list: true) - feed it a list and you get a list back, one transformed value per input item.

Picking this over EvaluateMultiple1

The plain EvaluateMultiple family is the simpler mental model - one value in, one value out, no list machinery involved. Grab EvaluateListMultiple1 specifically when you're already inside ComfyUI's list-execution flow: something upstream is producing a batch, and you want this expression to apply to every item in it rather than to the batch as a single object. Wiring a single, non-list value into in1 still works - you just get a one-element list back out - but the element-wise, all-None-skipping behavior only really matters once you're handing it an actual batch.

The same caution as the rest of the family

Real Python execution, no sandbox stated anywhere. Contrast with rgthree-comfy's Power Puter, which its author deliberately built to parse expressions to an AST against an allowlist rather than eval them outright, specifically to rule out file access, network calls, and arbitrary imports. RuiquNodes' README describes this family as running "any fragment of Python code" without that guarantee - write what you understand.

Installing it

ComfyUI Manager: search RuiquNodes, install, restart. Manual:

cd ComfyUI/custom_nodes
git clone https://github.com/ruiqutech/ComfyUI-RuiquNodes

then restart. No models to fetch.

Common issues

An output column comes back empty even though you set it. Check whether every element actually produced a non-None value for that output - if the whole column is None across the list, the node drops it per its own stated behavior, which can look like a missing wire when it's actually working as designed.

A single value instead of a list confuses the expression. If in1 isn't actually list-typed, you may be overengineering - use EvaluateMultiple1 for a single value and save this node for genuine batches.

Categoryruiqu/evaluate

Inputs (4)

NameTypeDefaultDescription
expressionSTRING# 表达式为element-wise,合并时自动跳过全None的输出
input_countINT11–20
print_to_consoleCOMBO2 options: False, True
in1opt*

Outputs (1)

NameTypeDescription
out1*