我需要对列表进行排序,这个列表内部还包含其他的列表嵌套。在Python中,我的代码如下所示:
a = sorted([[[1,2],[3,4]],[[1]]])
Kotlin 中是否有类似的东西?我找到了自定义比较器对象,但对于这样一个简单的任务来说真的很令人困惑。
fun main() {
val a = listOf(listOf(listOf(1,2),listOf(4,3)), listOf(listOf(0,2,1)),listOf(listOf(1)))
val b =a.sortedBy {it -> it.size}
println(a)
println(b)
}
输出:
[[[1, 2], [4, 3]], [[0, 2, 1]], [[1]]]
[[[0, 2, 1]], [[1]], [[1, 2], [4, 3]]]
Python 等效代码:
a = [[[1,2],[4,3]], [[0,2,1]] ,[[1]]]
b = sorted(a)
print(a)
print(b)
输出:
[[[1, 2], [4, 3]], [[0, 2, 1]], [[1]]]
[[[0, 2, 1]], [[1]], [[1, 2], [4, 3]]]