gpt4 book ai didi

list - 如何在 Groovy 中将列表拆分为大小相等的列表?

转载 作者:行者123 更新时间:2023-12-03 11:30:14 25 4
gpt4 key购买 nike

如果我有这个:

def array = [1,2,3,4,5,6]

是否有一些内置功能可以让我这样做(或类似的东西):
array.split(2)

并得到:
[[1,2],[3,4],[5,6]]

?

最佳答案

我同意 Chris 的观点,即 groovy 中没有任何内容来处理这个问题(至少对于 2 个以上的分区),但我将您的问题解释为提出与他不同的问题。这是一个执行我认为您要求的实现:

def partition(array, size) {
def partitions = []
int partitionCount = array.size() / size

partitionCount.times { partitionNumber ->
def start = partitionNumber * size
def end = start + size - 1
partitions << array[start..end]
}

if (array.size() % size) partitions << array[partitionCount * size..-1]
return partitions
}


def origList = [1, 2, 3, 4, 5, 6]
assert [[1], [2], [3], [4], [5], [6]] == partition(origList, 1)
assert [[1, 2], [3, 4], [5, 6]] == partition(origList, 2)
assert [[1, 2, 3], [4, 5, 6]] == partition(origList, 3)
assert [[1, 2, 3, 4], [5, 6]] == partition(origList, 4)
assert [[1, 2, 3, 4, 5], [6]] == partition(origList, 5)
assert [[1, 2, 3, 4, 5, 6]] == partition(origList, 6)

关于list - 如何在 Groovy 中将列表拆分为大小相等的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2924395/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com