gpt4 book ai didi

list - 将列表分成大小为N的组

转载 作者:行者123 更新时间:2023-12-02 13:37:16 26 4
gpt4 key购买 nike

将列表分成大小为n的元组的惯用方式是什么?

例如:三连成三

val list = listOf(1,2,3,4)
val partitioned = list.groupsOf(3)

// partitioned[0] = List<Int> 1, 2, 3
// partitioned[1] = List<Int> 4

但最好是这样的东西
val list = listOf(1,2,3,4)
val newList = mutableListOf()

list.forGroupsOf(3) { triple: Triple<Int?> ->
newList.add( triple )
}

// partitioned[0] = Triple<Int?> 1, 2, 3
// partitioned[1] = Triple<Int?> 4, null, null

注意:我为此示例组成的 List.groupsOfList.forGroupsOf

最佳答案

Kotlin提供了一个名为 chunked(n) 的函数,该函数生成一个列表列表,每个列表包含n个元素:

val list = listOf(1, 2, 3, 4)
val tuples = list.chunked(2).map { Tuple(it[0], it[1]) }

或者:
val list = listOf(1, 2, 3, 4)
val tuples = list.chunked(2) { Tuple(it[0], it[1]) }

请记住,这会生成带有 max n个元素的列表。

关于list - 将列表分成大小为N的组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53561842/

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