极奇策RPA技术教程:列表随机抽取一个 (NodeListRandom) - 自动化开发与配置详细指南

列表随机抽取一个
📖 节点概述
从列表中随机抽取一个元素。输入可以是列表对象、JSON 数组字符串或多行文本(每行一个元素)。输出为抽取到的元素,类型与列表中元素一致;若列表为空,则输出 None。该节点为纯数据节点,无执行端口。
💡 使用场景:
- 随机推荐:从候选列表(如商品、文章、用户)中随机选取一个进行推荐。
- 抽样检查:从数据集中随机抽取一条进行质量验证或人工审核。
- 随机化测试:从测试用例列表中随机选择一个执行,增加测试覆盖的随机性。
- 游戏玩法:随机抽取道具、奖励或对手。
- 负载均衡:从可用服务器列表中随机选择一个分配请求(简单轮询替代方案)。
🎮 实战连线指南:如何正确使用它?
节点有一个输入端口 列表数据 和一个输出端口 随机元素。
场景案例:从水果列表中随机抽取一个
准备列表:在“列表数据”多行文本框输入:
apple banana cherry或从上游传入列表
["apple", "banana", "cherry"]。获取结果:每次执行(或每次数据流求值),
随机元素会随机输出"apple"、"banana"或"cherry"中的一个。后续使用:将抽中的元素用于展示、判断或作为其他节点的输入。
JSON 数组示例:
- 列表:
[1, 2, 3, 4, 5]→ 随机输出 1 到 5 之间的一个整数。 - 列表:
["高", "中", "低"]→ 随机输出难度等级。
空列表处理:
- 如果列表为空(如输入
[]或多行文本框为空),输出None。
⚙️ 引脚与参数说明
📥 输入引脚
| 引脚名称 | 数据类型 | 说明 |
|---|---|---|
| 列表数据 | LIST / STRING | 待抽取的列表。可以是列表对象、JSON 字符串(如["a","b"])或多行文本(每行一个元素)。 |
⚙️ 控件参数
| 控件名称 | 类型 | 说明 |
|---|---|---|
| 列表数据 | 多行文本框 | 手动输入列表内容(每行一个元素,或 JSON 列表)。连线时优先使用连线值。 |
📤 输出引脚
| 引脚名称 | 数据类型 | 说明 |
|---|---|---|
| 随机元素 | ANY | 从列表中随机选取的一个元素。若列表为空,返回None。 |
🔧 行为说明
- 节点每次被求值时(例如下游节点读取输出),都会重新进行随机抽取。
- 随机性基于 Python 标准库
random.choice,采用均匀分布。 - 输入列表的解析方式与【列表反转】等节点一致,支持多种格式。
- 如果列表只有一个元素,则必然返回该元素。
⚠️ 注意事项
- 随机种子:节点不设置固定的随机种子,每次运行(甚至同一次运行中的多次求值)结果都可能不同。如需可重复的随机结果,请在流程开始时使用【随机种子】节点固定种子。
- 空列表防护:如果传入的列表为空,输出为
None。下游节点应能处理None值,避免错误。 - 性能:抽取操作时间复杂度 O(1),非常高效。
- 类型保留:输出元素的类型与列表中的原始元素类型一致(不会自动转字符串)。
💎 小贴士:
- 如果需要一次性随机抽取多个不重复的元素,请使用【列表随机抽样】节点(如果存在)或多次调用本节点并手动去重。
- 结合【条件判断】节点,可以根据抽取结果执行不同的逻辑。
- 若需要加权随机抽取(元素概率不同),可考虑先构造权重列表,再使用【随机选择】相关节点。
- 由于是纯数据节点,无需执行信号,可以在数据流中随时调用。
这篇文档对您有帮助吗?
您的反馈将帮助我们持续优化文档内容

