如果我有一个列表和 zipWithIndex
val list = List('a', 'b', 'c')
val ziplist = List.zipWithIndex
// List[(int, int)] = List(('a', 0), ('b', 1), ('c', 2))
如果我想从 1 而不是 0 开始索引,有没有比我当前更聪明的方法:
val ziplist = List.zipWithIndex.map( ele => (ele._1, ele._2 + 1))
希望大家帮忙!
在摘要中描述
最佳答案
您可以使用LazyList.from(1)
来生成索引:
List('a', 'b', 'c').zip(LazyList.from(1)) // List((a,1), (b,2), (c,3))
如果您使用 2.13 之前的 Scala,则需要使用 Stream
而不是 LazyList
:
List('a', 'b', 'c').zip(Stream.from(1)) // List((a,1), (b,2), (c,3))
关于scala - zipWithIndex 从 1 而不是 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57867393/