In Python I can write:
for i, element in enumerate(my_list):
print i # the index, starting from 0
print element # the list-element
How can I write this in Kotlin?
In Python I can write:
for i, element in enumerate(my_list):
print i # the index, starting from 0
print element # the list-element
How can I write this in Kotlin?
There is a forEachIndexed
function in the standard library:
myList.forEachIndexed { i, element ->
println(i)
println(element)
}
See @s1m0nw1's answer as well, withIndex
is also a really nice way to iterate through an Iterable
.
Like already said, forEachIndexed
is a good way to iterate.
Alternative 1: the extension withIndex
, defined for Iterable
types, can be used in for
-each:
val ints = arrayListOf(1, 2, 3, 4, 5)
for ((i, e) in ints.withIndex()) {
println("$i: $e")
}
Alternative 2: extension property indices
is available for Collection
, Array
etc., which let's you iterate like in a common for
loop as known from C, Java etc:
for(i in ints.indices){
println("$i: ${ints[i]}")
}