我有一个列表,我想要应用一些转换,但不包括前两个元素。我怎么能以最好的方式做到这一点?像这样:
list.reversed().take(list.size - 2)...(my transformations)
或
list.excludeFirstN(2)...(my transformations)
答案 0 :(得分:4)
哦,我找到了drop()函数。
答案 1 :(得分:3)
您可以使用takeLast(n)之类的:
list.takeLast(3)
但请注意,最后一个数字首先表示,因此您可能还需要使用reversed,因此您的代码可能是:
list.takeLast(3).reversed()
答案 2 :(得分:1)
如前所述,drop
非常适合用例:
listOf(1,2,3,4).drop(2).forEach(::println)
否则,您也可以按索引过滤:
listOf(1,2,3,4).filterIndexed { index, _ -> index > 1 }.forEach(::println)