在线提交需求

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

极奇策RPA技术教程:Zip 并行打包 (NodeZip) - 自动化开发与配置详细指南

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

image.png

Zip 并行打包

📖 节点概述

将多个列表按位置并行打包,生成一个元组列表(每个元组转换为列表)。结果列表的长度等于输入列表中较短的那个(类似于 Python 的 zip 函数)。支持动态增减输入端(右键菜单),至少 2 个列表。该节点为纯数据节点,无执行端口。

💡 使用场景

  • 数据对齐:将两个长度不同的列表对齐,只处理共有位置的数据。
  • 成对迭代:将两个列表(如姓名列表和年龄列表)合并成 [["张三",25], ["李四",30]] 方便遍历。
  • 矩阵转置准备:将多个行列表转换为列列表的中间步骤。
  • 批量参数组合:将多个平行数据源(如 ID 列表、名称列表、价格列表)合并成一条记录列表。
  • 列表字典转换:将 key 列表和 value 列表组合成字典结构(需配合其他节点)。

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

节点通过动态端口接收至少 2 个列表,按位置配对输出新的列表。

场景案例:将姓名列表和年龄列表合并为人员记录

  1. 准备数据
    • 姓名列表 = ["张三", "李四", "王五"]
    • 年龄列表 = [25, 30, 28]
  2. 连接节点
    • 右键单击【Zip 并行打包】节点,确保有 2 个输入端口(默认)。
    • 将姓名列表连入 列表 1,年龄列表连入 列表 2
  3. 获取结果配对列表 输出 [["张三", 25], ["李四", 30], ["王五", 28]]
  4. 后续使用:可遍历此列表,每条记录进行进一步处理。

长度不等处理

  • 列表 1 = [1, 2, 3]
  • 列表 2 = ["a", "b"]
  • 结果 = [[1, "a"], [2, "b"]](第三个元素因列表2没有对应值而被忽略)。

三个列表示例

  • [1,2], ["a","b"], [True,False][[1,"a",True], [2,"b",False]]

⚙️ 引脚与参数说明

📥 输入引脚(动态)

引脚名称数据类型说明
列表 1, 列表 2, ...LIST待打包的列表。至少 2 个,可通过右键菜单动态增删。每个端口接受任意类型的列表(元素类型不限)。

⚙️ 控件参数

无固定控件(动态端口无控件)。

📤 输出引脚

引脚名称数据类型说明
配对列表LIST结果列表,每个元素是一个列表,包含来自每个输入列表的对应位置元素。长度等于、较短输入列表的长度。

🔧 行为说明

  • 按位置匹配:首个输入列表的第 i 个元素,与第二个输入列表的第 i 个元素,以此类推,组成新列表。
  • 截断规则:如果输入列表长度不同,结果以较短的列表为准,多余元素被忽略。
  • 元素类型:输出列表中的子列表元素类型与输入对应位置的元素类型保持一致。
  • 空列表处理:如果某个输入列表为空,则结果为空列表。

⚠️ 注意事项

  • 动态端口管理:右键单击节点可添加或删除输入端口。至少 2 个。
  • 幽灵端口:当增加端口后未连线,该端口会被自动忽略,不影响结果。
  • 列表元素类型:输入列表可以包含任意类型的元素(数字、字符串、布尔、字典等),输出时原样保留。
  • 性能:打包操作的时间复杂度为 O(k * n),其中 k 为输入列表个数,n 为较短列表长度。
  • 不是笛卡尔积:该节点做的是并行打包(zip),而非组合所有可能(笛卡尔积)。如需笛卡尔积,请使用【列表叉积】节点。

💎 小贴士

  • 将输出的配对列表再配合【遍历列表】节点,可以方便地同时处理多个相关数据。
  • 如果需要将配对结果转为字典(首列为 key,第二列为 value),可以使用【列表转字典】节点。
  • 如需按较长列表打包(缺失值用 None 填充),可以使用【列表操作】中的自定义函数或编写表达式节点。
  • 该节点是数据处理流程中常见的“列转行”操作,适合表格数据的行列转换。
助理
咨询
微信
微信客服扫码添加微信
社群
QQ群扫码加入Q群
电话
免费咨询热线0371-67993886
顶部