在线提交需求

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

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

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

image.png

列表排序

📖 节点概述

对列表中的元素进行排序。支持升序或降序。输入可以是列表对象、JSON 数组字符串或多行文本(每行一个元素)。当列表中包含不可直接比较的混合类型时,节点会自动将所有元素转换为字符串后再排序。该节点为纯数据节点,无执行端口。

💡 使用场景

  • 数据展示整理:将用户列表、商品列表等按名称或 ID 排序后再显示。
  • 日志分析预处理:将时间戳或错误码排序,便于趋势分析。
  • 配置标准化:将配置文件中的选项列表按字母顺序排列,提高可读性。
  • 去重前排序:排序后可更方便地通过相邻元素比较去除重复。
  • 优先级队列:将任务按优先级数字排序后,依次处理。

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

节点有一个输入端口 列表,一个下拉选择“顺序”,输出端口 排序后列表

场景案例:对水果列表进行升序排序

  1. 准备列表:在“列表”多行文本框输入:

    banana
    apple
    cherry
    

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

  2. 选择顺序升序 (A→Z)(默认)。

  3. 获取结果排序后列表 输出 ["apple", "banana", "cherry"]

  4. 后续使用:将排序后的列表用于展示或进一步处理。

降序示例

  • 列表:[3, 1, 4, 1, 5]
  • 顺序:降序 (Z→A)
  • 结果:[5, 4, 3, 1, 1]

混合类型处理

  • 列表:[5, "apple", 2]
  • 由于整数和字符串无法直接比较,节点会将所有元素转为字符串:["5", "apple", "2"],然后排序(字典序):
    • 升序 → ["2", "5", "apple"]
    • 降序 → ["apple", "5", "2"]

⚙️ 引脚与参数说明

📥 输入引脚

引脚名称数据类型说明
列表LIST / STRING待排序的列表。可以是列表对象、JSON 字符串(如["a","b"])或多行文本(每行一个元素)。

⚙️ 控件参数

控件名称类型说明
列表多行文本框手动输入列表内容(每行一个元素,或 JSON 列表)。连线时优先使用连线值。
顺序下拉选择升序 (A→Z):从小到大/字母顺序。<br>• 降序 (Z→A):从大到小/字母逆序。

📤 输出引脚

引脚名称数据类型说明
排序后列表LIST排序后的新列表(原列表不会被修改)。

🔧 排序规则

  • 对于可比较的元素(如同为数字、同为字符串、同为元组等),使用 Python 默认的比较规则(数字按数值,字符串按字典序)。
  • 当列表包含不可直接比较的混合类型时(如数字和字符串混合),节点会捕获 TypeError,将所有元素转换为字符串后再排序(此时按字符串字典序,例如 "2" < "10" 是按首字符比较的)。
  • 排序是稳定排序:如果两个元素相等,它们在输出列表中的相对顺序与原始顺序相同。

⚠️ 注意事项

  • 原列表不变:节点返回排序后的新列表,不会修改输入列表。
  • 字符串排序:数字以字符串形式排序时可能不符合数值预期(例如 "10" 会排在 "2" 前面,因为 "1" < "2")。如需数值排序,请确保列表元素均为数字类型,或先通过【类型转换】节点统一转换。
  • 混合类型回退:当列表包含无法直接比较的类型(如 None 与数字),Python 会抛出 TypeError。此时节点会转为字符串排序,结果可能非预期,建议在排序前统一元素类型。
  • JSON 输入:使用 JSON 数组字符串时,元素类型会被解析为对应的 JSON 类型(数字、字符串、布尔等),排序按原生类型进行。
  • 空列表:输入为空列表时,输出也为空列表。
  • 性能:排序时间复杂度 O(n log n),对于大型列表可接受。

💎 小贴士

  • 排序后常常结合【列表去重】节点,先排序再去重可以保留唯一值(尤其是相邻相同值)。
  • 若需要按自定义规则排序(如按字符串长度、按对象属性),可使用【列表操作】中的高阶节点或表达式节点。
  • 该节点输出为列表,可直接连接【列表截取】获取前几名(Top N)。
  • 由于是纯数据节点,无需执行信号,可在数据流中随时使用。
助理
咨询
微信
微信客服扫码添加微信
社群
QQ群扫码加入Q群
电话
免费咨询热线0371-67993886
顶部