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

列表包含
📖 节点概述
检查列表中是否包含指定的元素。支持列表对象、JSON 数组字符串或多行文本(每行一个元素)作为列表输入。查找元素支持字符串或其他类型。输出布尔值。该节点为纯数据节点,无执行端口。
💡 使用场景:
- 权限校验:检查用户角色是否在允许的角色列表中。
- 数据去重前判断:在向列表添加新元素前先判断是否已存在。
- 条件过滤:根据某个值是否在列表中决定后续分支(如白名单/黑名单过滤)。
- 配置验证:检查输入参数是否在预定义的合法取值集合内。
- 批量状态检查:判断某个 ID 是否存在于已处理列表中。
🎮 实战连线指南:如何正确使用它?
节点有两个输入端口:列表 和 查找元素,输出端口 是否存在(布尔值)。
场景案例:检查用户角色是否具有管理权限
- 准备角色列表:在“列表”多行文本框输入:
admin manager superuser - 获取用户角色:从【变量获取】节点读取
role = "manager",连接到查找元素端口。 - 获取结果:
是否存在输出True。 - 条件分支:将结果连接到【条件判断】节点,若为 True 则执行管理功能,否则返回权限不足。
JSON 数组输入示例:
- 列表:
["admin", "manager", "superuser"](JSON 格式,需双引号) - 查找元素:
"manager"→ 结果True。
手动多行文本输入示例:
- 列表(多行):
apple banana cherry - 查找元素:
banana→True;grape→False。
⚙️ 引脚与参数说明
📥 输入引脚
| 引脚名称 | 数据类型 | 说明 |
|---|---|---|
| 列表 | LIST / STRING | 待搜索的列表。可以是列表对象、JSON 字符串(如["a","b"])或多行文本(每行一个元素)。 |
| 查找元素 | STRING | 要检查是否存在于列表中的值。支持任意类型(内部会转为字符串后比较?实际使用 Python 的in 直接比较,保持原类型)。 |
⚙️ 控件参数
| 控件名称 | 类型 | 说明 |
|---|---|---|
| 列表 | 多行文本框 | 手动输入列表内容(每行一个元素,或 JSON 列表)。连线时优先使用连线值。 |
| 查找元素 | 单行文本框 | 手动输入要查找的值。 |
📤 输出引脚
| 引脚名称 | 数据类型 | 说明 |
|---|---|---|
| 是否存在 | BOOL | True 表示查找元素存在于列表中,否则 False。 |
🔧 列表输入格式说明
节点内部使用 _parse_input_as_list 函数解析列表输入,支持以下格式(按优先级):
- 直接传入 Python 列表对象。
- 合法的 JSON 数组字符串,如
["apple","banana"]。 - 多行文本:每行一个元素(空行会被忽略),例如:
apple banana cherry - 其他类型的输入(如单个数字)会被包裹为单元素列表。
- 空值或空字符串返回空列表
[]。
查找元素的比较使用 Python 的 in 操作符,与列表元素进行直接比较(值相等即可,类型不同但值相等也会视为相同,如 1 和 1.0)。
⚠️ 注意事项
- 类型匹配:列表中的元素和查找元素会直接比较(不会统一转为字符串)。例如列表
[1, 2]查找"1"返回False(整数 vs 字符串)。 - 大小写敏感:字符串比较区分大小写。
"Apple"和"apple"视为不同。 - 列表为空:返回
False。 - 查找元素为空:如果查找元素为空字符串
"",且列表中包含空字符串元素(如多行文本中的空行会被忽略,但 JSON 中可以包含""),则返回True。 - 多行文本解析:仅按行拆分,不会解析行内逗号等。如需复杂结构,请使用 JSON 格式。
- 性能:对于大型列表,
in操作的时间复杂度为 O(n)。若频繁查找,可考虑先将列表转为集合(使用【列表转集合】节点)再判断。
💎 小贴士:
- 结合【条件判断】节点,可以直接使用输出布尔值进行分支。
- 如果需要判断元素是否不在列表中,可在节点后串联【布尔非】节点。
- 列表输入支持动态连线,可从数据库查询结果或其他节点输出的列表直接传入。
- 若需要同时检查多个元素,可以多次使用本节点,或使用【列表交集】节点(如有)批量判断。
- 该节点输出
True/False可以写入变量,用于记录校验结果。
这篇文档对您有帮助吗?
您的反馈将帮助我们持续优化文档内容

