在线提交需求

请留下您的联系方式,我们的专家将在 24 小时内与您沟通。

极奇策RPA技术教程:弹出元素 (NodePopItem) - 自动化开发与配置详细指南

极奇策技术团队更新于 2026-08-310 阅读

image.png

弹出元素

📖 节点概述

从列表或字典中移除并返回指定位置的元素(列表通过索引)或指定键的值(字典)。列表支持正负索引(负索引表示从末尾倒数),字典按键名删除。操作基于原容器的深拷贝,不修改原数据。输出两个结果:被移除的元素和修改后的新容器。该节点为纯数据节点,无执行端口。

💡 使用场景

  • 队列/栈模拟:从列表末尾弹出元素实现栈(后进先出),或从开头弹出实现队列(需索引 0)。
  • 键值对消费:从字典中取出某个键的值并同时删除该键,用于任务凭证或配置参数的一次性提取。
  • 列表迭代时删除:在需要一边遍历一边删除特定位置元素时,提前获取弹出值并更新列表。
  • 数据清洗:移除列表中的首个或末尾元素,并记录移除的内容。
  • 动态配置更新:从配置字典中弹出某个配置项,剩余配置继续使用。

🎮 实战连线指南:如何正确使用它?

节点有两个输入端口:容器(列表或字典)和 键/索引(整数索引或字符串键名),以及两个输出端口:被移除元素新容器

场景案例:从列表中弹出索引 2 的元素

  1. 准备容器:在“容器”多行文本框输入 JSON 数组:

    ["apple", "banana", "cherry", "date"]
    

    或从上游传入列表 ["apple", "banana", "cherry", "date"]

  2. 设置键/索引:输入 2(索引从 0 开始,指向第三个元素 "cherry")。

  3. 获取结果

    • 被移除元素 输出 "cherry"
    • 新容器 输出 ["apple", "banana", "date"]
  4. 后续使用:可将移除的元素用于其他逻辑,将新容器覆盖原列表变量。

字典弹出示例

  • 容器(JSON 格式):{"name": "张三", "age": 28, "city": "北京"}
  • 键/索引:"age"
  • 结果:
    • 被移除元素:28
    • 新容器:{"name": "张三", "city": "北京"}

负索引列表示例

  • 列表:[10, 20, 30, 40]
  • 键/索引:-1(尾部的一个元素)
  • 被移除元素:40
  • 新容器:[10, 20, 30]

⚙️ 引脚与参数说明

📥 输入引脚

引脚名称数据类型说明
容器LIST / DICT / STRING要操作的列表或字典。支持列表对象、字典对象、JSON 字符串(如["a","b"]{"k":"v"})或多行文本(按行拆分为列表)。
键/索引STRING-列表:要弹出元素的位置索引(整数,支持负数,默认为 -1)。<br>- 字典:要删除的键名(字符串)。

⚙️ 控件参数

控件名称类型说明
容器多行文本框手动输入列表或字典(JSON 格式,或多行文本)。连线时优先使用连线值。
键/索引单行文本框手动输入索引(列表)或键名(字典)。

📤 输出引脚

引脚名称数据类型说明
被移除元素ANY被弹出/删除的元素值。若操作失败(如索引越界、键不存在、容器无效),返回None
新容器LIST / DICT弹出元素后的新列表或新字典(基于原容器的深拷贝)。如果原容器无效,返回空列表[]

🔧 行为说明

  • 输入容器会被深拷贝(copy.deepcopy),因此原数据不会被修改。
  • 列表操作:使用 list.pop(index),支持负数索引。如果索引无效或越界,被移除元素为 None,新容器与原列表相同。
  • 字典操作:使用 dict.pop(key, None),如果键不存在,被移除元素为 None,新容器与原字典相同。
  • 如果输入既不是列表也不是字典(例如纯字符串且无法解析为 JSON),输出为 被移除元素 = None新容器 = []
  • 输出端口“新容器”的类型会根据实际容器类型动态变化(列表或字典)。

⚠️ 注意事项

  • 深拷贝开销:对于大型列表或字典,深拷贝可能会消耗较多内存和时间。若不需要保留原数据,可考虑直接操作原变量(但本节点设计为无副作用,建议接受此开销)。
  • 索引默认值:如果“键/索引”输入为空(未填写),列表默认弹出尾部的一个元素(索引 -1);字典默认不弹出任何键(返回 None)。
  • 键/索引的解析:列表时会将输入转换为整数;字典时直接作为字符串键名。如果列表输入 "abc" 无法转为整数,操作失败。
  • 输出类型动态变化:“新容器”在编辑器中可能显示为 LISTDICT,运行时会根据实际结果调整,下游节点应适应这种变化。
  • 多行文本输入:如果容器输入为多行纯文本(非 JSON),会按行拆分为字符串列表。此时“键/索引”应为整数索引。

💎 小贴士

  • 若只需要获取元素而不想修改容器,可使用【列表索引查找】或【从列表获取一个元素】节点。
  • 若要删除但不关心被移除的值,可使用【列表移除】(按值)或【列表删除】(按索引,但本节点也适用)。
  • 字典弹出常用于“消费”配置项:先弹出某个键,剩余配置继续传递。
  • 由于输出两个结果,可使用【变量设置】节点分别存储被移除元素和新容器。
  • 该节点是纯数据节点,无需执行信号,可在数据流中随时使用。
助理
咨询
微信
微信客服扫码添加微信
社群
QQ群扫码加入Q群
电话
免费咨询热线0371-67993886
顶部