RemoveFromList 列表元素删除与条件剔除节点
节点核心功能 (What is it?)
RemoveFromList 节点是一个实用的列表元素过滤与删除工具节点,能够根据不同的判断维度从现有列表中安全剔除元素。它支持按元素相对位置(首项、末项或指定索引下标)执行删除,也支持通过精确值匹配来删除指定的数据项。
典型适用场景 (When would I use it?)
在以下情况下使用 RemoveFromList 节点:
- 从现有列表中移除已完成的任务或不需要的数据项;
- 过滤掉集合中的特定冗余标志或脏数据;
- 在自动化工作流执行期间动态更新并精简列表状态;
- 清洗列表结构,剔除干扰下游模型推理的异常元素;
- 弹出队列的首项(FIFO)或栈顶的末项(LIFO)。
使用指南 (How to use it)
基础配置流程 (Basic Setup)
- 在工作流画布中添加 RemoveFromList 节点。
- 将现有的母列表连接至
items输入插槽。 - 在
remove_item_by下拉参数中选择删除策略("first"、"last"、"index" 或 "item")。 - 根据所选的策略,提供具体的删除索引数值或待删除的目标元素值。
- 节点的
output引脚即可输出完成剔除后的新列表。
参数输入插槽 (Parameters)
- items:待执行元素删除的母列表(
list类型输入端)。 - remove_item_by:元素删除的判定策略下拉菜单(可选值:
"first":删除列表的首项元素;"last":删除列表的末尾元素;"index":删除指定数字下标处的元素;"item":删除与指定值相匹配的元素)。
- item:待删除的目标元素值(仅当
remove_item_by设为"item"时动态可见)。 - index:待删除的目标索引下标数值(仅当
remove_item_by设为"index"时动态可见)。
输出引脚 (Outputs)
- output:移除了目标元素后的全新精简列表工件。
典型工作流示例 (Example)
从任务清单列表中剔除一项已完成的具体任务:
- 在工作流画布中添加 RemoveFromList 节点。
- 将任务列表数据连接至
items输入端。 - 将
remove_item_by策略选为"item"。 - 将包含已完成任务名称的文本节点接入
item输入插槽。 - 节点的
output引脚将即刻输出已将该任务剔除后的全新任务列表。
关键技术特性 (Important Notes)
- 不可变防御机制 (Immutability):操作绝不会直接篡改上游原始列表的内存状态,而是克隆并返回一个全新的过滤后列表;
- 动态交互式参数展现:
index与item输入插槽仅在切换到对应的remove_item_by策略模式时才会在 UI 节点卡片上动态渲染; - 边界约束与安全性:当按
"index"模式删除时,指定的索引必须处于列表有效下标区间内。
常见问题与排查 (Common Issues)
- 索引越界 (Invalid Index):在
"index"模式下若传入超界下标,节点将优雅防御并安全返回原列表。 - 元素未找到 (Item Not Found):在
"item"模式下若母列表中不存在该项,则不会执行任何移除,直接原样返回列表。 - 数据类型严格匹配 (Type Mismatch):按值删除时采用精确等值比对,请确保传入的待删除元素类型与列表项完全吻合。