跳转至

RemoveFromList 列表元素删除与条件剔除节点

节点核心功能 (What is it?)

RemoveFromList 节点是一个实用的列表元素过滤与删除工具节点,能够根据不同的判断维度从现有列表中安全剔除元素。它支持按元素相对位置(首项、末项或指定索引下标)执行删除,也支持通过精确值匹配来删除指定的数据项。

典型适用场景 (When would I use it?)

在以下情况下使用 RemoveFromList 节点:

  • 从现有列表中移除已完成的任务或不需要的数据项;
  • 过滤掉集合中的特定冗余标志或脏数据;
  • 在自动化工作流执行期间动态更新并精简列表状态;
  • 清洗列表结构,剔除干扰下游模型推理的异常元素;
  • 弹出队列的首项(FIFO)或栈顶的末项(LIFO)。

使用指南 (How to use it)

基础配置流程 (Basic Setup)

  1. 在工作流画布中添加 RemoveFromList 节点。
  2. 将现有的母列表连接至 items 输入插槽。
  3. 在 remove_item_by 下拉参数中选择删除策略("first"、"last"、"index" 或 "item")。
  4. 根据所选的策略,提供具体的删除索引数值或待删除的目标元素值。
  5. 节点的 output 引脚即可输出完成剔除后的新列表。

参数输入插槽 (Parameters)

  • items:待执行元素删除的母列表(list 类型输入端)。
  • remove_item_by:元素删除的判定策略下拉菜单(可选值:
    • "first":删除列表的首项元素;
    • "last":删除列表的末尾元素;
    • "index":删除指定数字下标处的元素;
    • "item":删除与指定值相匹配的元素)。
  • item:待删除的目标元素值(仅当 remove_item_by 设为 "item" 时动态可见)。
  • index:待删除的目标索引下标数值(仅当 remove_item_by 设为 "index" 时动态可见)。

输出引脚 (Outputs)

  • output:移除了目标元素后的全新精简列表工件。

典型工作流示例 (Example)

从任务清单列表中剔除一项已完成的具体任务:

  1. 在工作流画布中添加 RemoveFromList 节点。
  2. 将任务列表数据连接至 items 输入端。
  3. 将 remove_item_by 策略选为 "item"。
  4. 将包含已完成任务名称的文本节点接入 item 输入插槽。
  5. 节点的 output 引脚将即刻输出已将该任务剔除后的全新任务列表。

关键技术特性 (Important Notes)

  • 不可变防御机制 (Immutability):操作绝不会直接篡改上游原始列表的内存状态,而是克隆并返回一个全新的过滤后列表;
  • 动态交互式参数展现:index 与 item 输入插槽仅在切换到对应的 remove_item_by 策略模式时才会在 UI 节点卡片上动态渲染;
  • 边界约束与安全性:当按 "index" 模式删除时,指定的索引必须处于列表有效下标区间内。

常见问题与排查 (Common Issues)

  • 索引越界 (Invalid Index):在 "index" 模式下若传入超界下标,节点将优雅防御并安全返回原列表。
  • 元素未找到 (Item Not Found):在 "item" 模式下若母列表中不存在该项,则不会执行任何移除,直接原样返回列表。
  • 数据类型严格匹配 (Type Mismatch):按值删除时采用精确等值比对,请确保传入的待删除元素类型与列表项完全吻合。