极奇策RPA技术教程:列表移除 (NodeListRemove) - 自动化开发与配置详细指南

列表移除
📖 节点概述
从列表中删除一个元素。支持两种删除方式:按值删除(删除第一个匹配的元素)或按索引删除(删除指定位置的元素)。原列表保持不变,返回删除后的新列表。该节点为纯数据节点,无执行端口。
💡 使用场景:
- 数据清洗:从用户列表中移除已注销的账号(按值删除)。
- 队列处理:按索引删除已处理完的任务(按索引删除,通常为 0)。
- 黑名单过滤:从结果集中移除特定值(如移除所有值为
None的项,但注意只删除第一次出现)。 - 撤销操作:根据用户选择的索引删除列表中的某项。
- 动态调整列表:根据条件删除元素(如删除评分最低的项,需先找到索引)。
🎮 实战连线指南:如何正确使用它?
节点有三个输入端口:原列表、值/索引,以及一个下拉选择“移除方式”。输出端口 新列表。
场景案例:按值删除水果列表中的“banana”
准备原列表:在“原列表”多行文本框输入:
apple banana cherry banana(或从上游传入列表)
移除方式:选择
删除指定值。设置值/索引:输入
banana。获取结果:
新列表输出["apple", "cherry", "banana"](只删除第一次出现的 banana,保留后面的)。后续使用:将新列表用于展示或继续处理。
按索引删除示例:
- 原列表:
[10, 20, 30, 40] - 移除方式:
删除指定索引 - 值/索引:
2 - 结果:
[10, 20, 40]
边界情况:
- 删除不存在的值:列表保持不变(不报错)。
- 删除索引越界(如索引为 10 但列表只有 3 个元素):列表保持不变。
- 索引为负数:节点不支持负数索引(不会转换为倒数),会被视为无效而忽略。
⚙️ 引脚与参数说明
📥 输入引脚
| 引脚名称 | 数据类型 | 说明 |
|---|---|---|
| 原列表 | LIST / STRING | 原始列表。可以是列表对象、JSON 字符串(如["a","b"])或多行文本(每行一个元素)。 |
| 值/索引 | STRING | 根据移除方式,填入要删除的元素值(字符串形式)或索引(整数)。 |
⚙️ 控件参数
| 控件名称 | 类型 | 说明 |
|---|---|---|
| 原列表 | 多行文本框 | 手动输入列表内容(每行一个元素,或 JSON 列表)。连线时优先使用连线值。 |
| 移除方式 | 下拉选择 | •删除指定值:删除列表中第一个值与输入匹配的元素。<br>• 删除指定索引:删除列表中指定索引位置的元素(索引从 0 开始)。 |
| 值/索引 | 单行文本框 | 手动输入要删除的值或索引。 |
📤 输出引脚
| 引脚名称 | 数据类型 | 说明 |
|---|---|---|
| 新列表 | LIST | 删除元素后的新列表(原列表不会被修改)。 |
🔧 行为说明
- 按值删除:使用
list.remove(值),仅删除第一个匹配的元素。如果值不存在,操作被忽略,列表不变。 - 按索引删除:使用
list.pop(索引),删除指定位置的元素。要求索引必须为非负整数,且小于列表长度;否则忽略。 - 节点始终返回一个新列表(原列表的副本),不会修改原列表数据。
⚠️ 注意事项
- 只删除第一个匹配:如果列表中有多个相同值,只删除第一个。要删除所有匹配项,请使用【列表过滤】或多次调用本节点。
- 索引不支持负数:与 Python 的
pop不同,本节点不处理负索引(如 -1 不会删除最后一个元素),因为输入会被转为字符串再转整数,负整数会被解析为负数索引,但节点内判断if 0 <= idx < len(items)会排除负数,因此负索引会被忽略。如需删除最后一个元素,请先获取列表长度减一。 - 值匹配类型:按值删除时,输入的值以字符串形式与列表元素进行比较。例如列表包含整数
1,而输入"1"字符串,两者不相等,无法删除。请确保类型一致,或使用 JSON 数组输入保持原始类型。 - 空列表:输入为空列表时,输出仍为空列表。
- 性能:删除操作的时间复杂度为 O(n),因为需要查找元素或移动后续元素。
💎 小贴士:
- 如果需要删除最后一次出现的值,可先反转列表再删除,然后再反转回来。
- 按索引删除常用于循环中删除当前元素(但注意倒序遍历避免索引错位)。
- 若要删除多个不同值,可多次调用本节点或使用【列表过滤】节点(保留不需要删除的项)。
- 由于节点返回新列表,可以方便地链式调用:
原列表 → 移除 → 再移除 → ...。- 使用“删除指定值”时,如果值可能以字符串形式存在于列表中,确保输入类型匹配(如从变量直接连线,而非手动输入字符串)。
这篇文档对您有帮助吗?
您的反馈将帮助我们持续优化文档内容

