Как уже отвечали другие, если вы хотите, чтобы ваш индекс начинался с 0, вы можете использовать zipWithIndex
:
for ((elem, i) <- collection.zipWithIndex) {
println(i, elem)
}
Поскольку zipWithIndex
создает новую последовательность из существующей последовательности, вы можете захотетьчтобы вызвать view
перед его вызовом: collection.view.zipWithIndex
.
Кроме того, Python enumerate
имеет необязательный параметр для установки начального значения ваших индексов.В scala следующее установит начальное значение равным 1:
for ((elem, i) <- collection.zip(Stream from 1) {
println(i, elem)
}
Для более подробного обсуждения прочитайте https://alvinalexander.com/scala/how-to-use-zipwithindex-create-for-loop-counters-scala-cookbook.