apoc.coll.partition

这是一个函数也是一个过程。

此过程和函数已被弃用。请改用 Cypher 的 列表推导式 (list comprehension)

函数详情

详细信息

语法

apoc.coll.partition(coll, batchSize)

描述

将原始 LIST<ANY> 分割成指定批次大小的新 LIST<ANY>。最终的 LIST<ANY> 可能小于指定的批次大小。

参数

名称

类型

描述

coll

LIST<ANY>

需要分割成较小子列表的列表。

batchSize

INTEGER(整数)

每个分割出的子列表的最大长度。

返回

LIST<ANY>

过程详情

详细信息

语法

apoc.coll.partition(coll, batchSize) :: (value)

描述

将原始 LIST<ANY> 分割成指定批次大小的新 LIST<ANY>。最终的 LIST<ANY> 可能小于指定的批次大小。

输入参数

名称

类型

描述

coll

LIST<ANY>

需要分割成较小子列表的列表。

batchSize

INTEGER(整数)

每个分割出的子列表的最大长度。

返回参数

名称

类型

描述

LIST<ANY>

分割后的列表。

使用示例

以下示例将列表分割为大小为 2 的子列表

apoc.coll.partition (函数)
WITH [1,2,3,4,5] AS list, 2 AS offset
RETURN apoc.coll.partition(list, offset) AS value
Cypher 的列表推导
WITH [1,2,3,4,5] AS list, 2 AS offset
RETURN [i IN range(0, size(list), offset) | list[i..i + offset]] AS value
结果

[[1, 2], [3, 4], [5]]

apoc.coll.partition (过程)
WITH [1,2,3,4,5] AS list, 2 AS offset
CALL apoc.coll.partition(list, offset)
YIELD value
RETURN value
Cypher 的 UNWIND
WITH [1,2,3,4,5] AS list, 2 AS offset
UNWIND range(0, size(list), offset) AS x
RETURN list[x..x + offset] AS value
结果

[1, 2]

[3, 4]

[5]