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

列表随机选一个
📖 节点概述
从列表中随机选取一个元素。输入可以是列表对象、JSON 数组字符串或多行文本(每行一个元素)。输出为选中的元素(字符串形式)。每次求值都会重新随机选择。该节点为纯数据节点,无执行端口。
💡 使用场景:
- 随机推荐:从备选内容池中随机推荐一条,如每日祝福语、随机广告。
- 抽奖系统:从用户列表中随机抽取中奖者。
- 测试数据生成:从预定义的测试用例集中随机选择一个执行。
- 轮换策略:从服务器列表中随机选择一台进行请求分发(简单负载均衡)。
- 游戏随机事件:从事件列表中随机触发一个结果。
🎮 实战连线指南:如何正确使用它?
节点有一个输入端口 列表 和一个输出端口 选中项。
场景案例:从水果列表中随机抽取一种水果
准备列表:在“列表”多行文本框输入:
apple banana cherry或从上游传入列表
["apple", "banana", "cherry"]。获取结果:每次求值,
选中项会随机输出"apple"、"banana"或"cherry"中的一个。后续使用:将选中的水果用于展示、决策或作为其他节点的输入。
JSON 数组示例:
- 输入:
["石头", "剪刀", "布"] - 输出:随机输出
"石头"、"剪刀"或"布"。
多行文本示例:
- 输入:
一等奖 二等奖 三等奖 - 输出:随机输出一项(字符串)。
⚙️ 引脚与参数说明
📥 输入引脚
| 引脚名称 | 数据类型 | 说明 |
|---|---|---|
| 列表 | LIST / STRING | 备选列表。可以是列表对象、JSON 数组字符串(如["a","b"])或多行文本(每行一个元素)。 |
⚙️ 控件参数
| 控件名称 | 类型 | 说明 |
|---|---|---|
| 列表 | 多行文本框 | 手动输入列表内容(每行一个元素,或 JSON 列表)。连线时优先使用连线值。 |
📤 输出引脚
| 引脚名称 | 数据类型 | 说明 |
|---|---|---|
| 选中项 | STRING | 随机选中的元素(转换为字符串形式)。若列表为空,返回空字符串""。 |
🔧 行为说明
- 节点每次被求值时(例如下游节点读取输出),都会重新从列表中随机抽取一个元素。
- 随机性基于 Python 标准库
random.choice,采用均匀分布。 - 输入列表的解析方式:优先识别列表对象,其次尝试 JSON 数组,后面按行拆分。
- 如果列表为空(输入无效或无元素),返回空字符串
""。
⚠️ 注意事项
- 随机种子:节点不设置固定的随机种子,每次运行结果都可能不同。如需可重复的随机结果,请在流程开始时使用【随机种子】节点固定种子。
- 输出始终为字符串:节点会将选中的元素转换为字符串输出。如果原列表包含数字或其他类型,输出会是其字符串形式(如
123→"123")。 - 空列表防护:若传入空列表或解析后无元素,返回空字符串。下游节点应能处理空字符串。
- 多行文本的空行:空行会被忽略,不参与随机选择。
- 性能:抽取操作时间复杂度 O(1)。
💎 小贴士:
- 如果需要一次性随机抽取多个不重复的元素,可使用【列表随机打乱】后取前 N 个,或多次调用本节点并手动去重。
- 若需要加权随机抽取(不同元素概率不同),可先构造权重列表,再使用【随机选择】相关节点(如有)。
- 该节点是纯数据节点,无需执行信号,可在数据流中随时调用。
- 结合【条件判断】节点,可以根据随机结果执行不同逻辑,实现简单的随机分支。
这篇文档对您有帮助吗?
您的反馈将帮助我们持续优化文档内容

