16

In Ruby, if I have an array and I want to use both the indexes and the values in a loop, I use each_with_index.

a=['a','b','c']
a.each_with_index{|v,i| puts("#{i} : #{v}") } 

prints

0 : a 
1 : b
2 : c

What is the Pythonic way to do the same thing?

AShelly
  • 33,795
  • 13
  • 89
  • 148

2 Answers2

10

Something like:

for i, v in enumerate(a):
   print "{} : {}".format(i, v)
AShelly
  • 33,795
  • 13
  • 89
  • 148
klasske
  • 2,144
  • 1
  • 24
  • 30
4

That'd be enumerate.

a=['a','b','c']
for i,v in enumerate(a):
    print "%i : %s" % (i, v)

Prints

0 : a
1 : b
2 : c
gnrhxni
  • 41
  • 1