在线提交需求

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

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

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

image.png

列表去重

📖 节点概述

去除列表中的重复元素。支持保留原始顺序(默认)或不保留顺序(转换为集合后返回)。输入可以是列表对象、JSON 数组字符串或多行文本(每行一个元素)。输出为去重后的字符串,每行一个元素。该节点为纯数据节点,无执行端口。

💡 使用场景

  • 数据清洗:去除从数据库或用户输入中获取的重复项。
  • 集合运算:快速获取唯一值列表(如标签、类别)。
  • 统计分析:统计独立值的数量(配合【列表长度】节点)。
  • 配置标准化:确保配置列表中的选项唯一(如角色列表、权限列表)。
  • 日志去重:去除重复的日志条目,保留不同的错误类型。

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

节点有一个输入端口 列表,一个输出端口 去重后列表,以及一个高级选项“保留顺序”。

场景案例:去除水果列表中的重复项

  1. 准备列表:在“列表”多行文本框输入:
    apple
    banana
    cherry
    banana
    apple
    
  2. 保留顺序:勾选(默认),表示保留首次出现的顺序。
  3. 获取结果去重后列表 输出:
    apple
    banana
    cherry
    
  4. 后续使用:可将结果用于展示或进一步处理。

不保留顺序:如果取消勾选“保留顺序”,则输出顺序不确定(例如 ["apple","banana","cherry"]["cherry","apple","banana"]),但元素唯一。

JSON 数组输入示例

  • 列表:["apple","banana","cherry","banana"]
  • 保留顺序:勾选 → 输出 "apple\nbanana\ncherry"

⚙️ 引脚与参数说明

📥 输入引脚

引脚名称数据类型说明
列表STRING待去重的列表。可以是列表对象、JSON 数组字符串或多行文本(每行一个元素)。

⚙️ 控件参数

控件名称类型说明
列表多行文本框手动输入列表内容(每行一个元素,或 JSON 列表)。连线时优先使用连线值。
保留顺序复选框(高级)勾选时(默认)保持元素首次出现的顺序;取消时使用集合去重,顺序不定。

📤 输出引脚

引脚名称数据类型说明
去重后列表STRING去重后的字符串,每行一个元素。

🔧 行为说明

  • 保留顺序模式:使用 set 记录已见过的元素,按原顺序依次输出未出现过的元素。时间复杂度 O(n)。
  • 不保留顺序模式:将列表转为 set 再转回列表,效率高但顺序不确定。适用于不关心顺序的场景。
  • 输入解析:通过 _parse_input_as_list 支持列表对象、JSON 数组或多行文本。
  • 输出始终为字符串(换行分隔),即使原始列表为空也输出空字符串。

⚠️ 注意事项

  • 元素类型:列表中的元素支持任意可哈希类型(字符串、数字、元组等),但不能包含不可哈希类型(如列表、字典),否则会引发错误。若需处理嵌套列表,请先使用【列表扁平化】节点。
  • 大小写敏感:字符串去重区分大小写("Apple""apple" 视为不同)。
  • 输出格式:输出为字符串(每行一个元素),若需要列表格式,可在节点后连接【分割字符串】节点(按 \n 分割)。
  • 空列表:输入为空列表或空字符串时,输出为空字符串。
  • 性能:对于超大列表(数十万项),保留顺序模式占用内存稍高(存储 seen 集合),但仍可接受。

💎 小贴士

  • 如果需要统计去重后的元素数量,可将输出再连接【字符串长度】节点(按行计数)。
  • 不保留顺序模式可用于快速获取唯一值集合,然后转为其他用途。
  • 结合【列表排序】节点,可以在保留顺序前先排序,实现排序后去重。
  • 该节点输出为字符串,便于直接展示或写入文件。若需后续列表操作,建议再通过【分割字符串】转换回列表。
助理
咨询
微信
微信客服扫码添加微信
社群
QQ群扫码加入Q群
电话
免费咨询热线0371-67993886
顶部