极奇策RPA技术教程:列表索引查找 (NodeListIndex) - 自动化开发与配置详细指南

列表索引查找
📖 节点概述
在列表中查找指定元素首次出现的位置(索引)。如果找到,返回该元素在列表中的索引(从 0 开始);如果未找到,返回 -1。输入列表支持列表对象、JSON 数组字符串或多行文本(每行一个元素)。该节点为纯数据节点,无执行端口。
💡 使用场景:
- 定位元素:根据元素值找到其在列表中的位置,用于后续的插入、删除或替换操作。
- 条件判断:检查元素是否存在于列表中(返回值是否 ≥0)。
- 顺序校验:验证某个元素是否出现在预期位置。
- 数据映射:获取元素索引后,同步操作其他平行列表的对应位置。
- 去重辅助:查找元素位置后,可配合删除节点移除特定位置的元素。
🎮 实战连线指南:如何正确使用它?
节点有两个输入端口:列表 和 查找值,输出端口 索引位置。
场景案例:查找“banana”在水果列表中的位置
准备列表:在“列表”多行文本框输入:
apple banana cherry或从上游传入列表
["apple", "banana", "cherry"]。设置查找值:在“查找值”输入框中填写
banana。获取结果:
索引位置输出1(因为索引从 0 开始,第二个元素索引为 1)。后续使用:将索引值用于其他节点(如列表移除、列表插入等)。
未找到示例:
- 列表:
[1, 2, 3] - 查找值:
5 - 结果:
-1
JSON 数组示例:
- 列表:
[10, 20, 30] - 查找值:
20→ 输出1。
⚙️ 引脚与参数说明
📥 输入引脚
| 引脚名称 | 数据类型 | 说明 |
|---|---|---|
| 列表 | LIST / STRING | 待查找的列表。可以是列表对象、JSON 字符串(如["a","b"])或多行文本(每行一个元素)。 |
| 查找值 | ANY | 要查找的元素值。支持任意类型(字符串、数字、布尔等)。 |
⚙️ 控件参数
| 控件名称 | 类型 | 说明 |
|---|---|---|
| 列表 | 多行文本框 | 手动输入列表内容(每行一个元素,或 JSON 列表)。连线时优先使用连线值。 |
| 查找值 | 单行文本框 | 手动输入要查找的元素值。连线时优先使用连线值。 |
📤 输出引脚
| 引脚名称 | 数据类型 | 说明 |
|---|---|---|
| 索引位置 | INT | 首个匹配元素的索引(从 0 开始),未找到时返回 -1。 |
🔧 行为说明
- 查找使用 Python 的
list.index(value)方法,严格匹配(值相等且类型相同)。 - 只返回首个匹配的索引(如果存在多个相同值,只返回先出现的)。
- 如果列表为空,直接返回 -1。
- 输入列表的解析方式与【列表反转】节点一致,支持多种格式。
⚠️ 注意事项
- 类型匹配:查找值会与列表元素进行直接比较(不自动转换类型)。例如列表包含整数
1,查找"1"(字符串)会返回 -1。 - 多个相同元素:只返回首个出现的索引。如需获取所有匹配的索引,可使用【列表遍历】配合条件判断自行收集。
- 区分大小写:字符串比较大小写敏感。
"Apple"和"apple"视为不同。 - 列表输入中的 JSON 格式:使用 JSON 数组时,元素类型会被保留(数字、字符串等),查找值需对应类型。
- 多行文本输入:按行拆分后的元素均为字符串类型,因此查找值也应提供字符串。
- 未找到返回值:-1 是常见约定,但在某些场景中可能被误解为可用索引(实际索引从 0 开始,-1 始终无效)。可直接用于条件判断。
💎 小贴士:
- 返回值可直接用于【列表移除】(按索引删除)或【列表插入】(在指定位置插入)。
- 需要查找后一个匹配时,可先反转列表再查找,然后用公式转换索引:
len(list) - 1 - reversed_index。- 结合【条件判断】节点,根据返回值是否 ≥0 判断元素是否存在。
- 若列表元素为复杂对象(如字典),查找值需要与整个字典匹配,通常不实用;建议使用【列表过滤】节点按条件查找。
- 该节点是纯数据节点,无需执行信号,可直接在数据流中使用。
这篇文档对您有帮助吗?
您的反馈将帮助我们持续优化文档内容

