如果我有一个列表和zipWithIndex
val list = List('a', 'b', 'c')
val ziplist = List.zipWithIndex
// List[(int, int)] = List(('a', 0), ('b', 1), ('c', 2))
Run Code Online (Sandbox Code Playgroud)
如果我想从1而不是0进行索引,是否有比我目前更好的方法:
val ziplist = List.zipWithIndex.map( ele => (ele._1, ele._2 + 1))
Run Code Online (Sandbox Code Playgroud)
希望你们能提供帮助!
总结中描述
您可以LazyList.from(1)
用来生成索引:
List('a', 'b', 'c').zip(LazyList.from(1)) // List((a,1), (b,2), (c,3))
Run Code Online (Sandbox Code Playgroud)
如果您使用的Scala版本早于2.13,则需要使用Stream
而不是LazyList
:
List('a', 'b', 'c').zip(Stream.from(1)) // List((a,1), (b,2), (c,3))
Run Code Online (Sandbox Code Playgroud)