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
  • 34,686
  • 15
  • 91
  • 152

2 Answers2

11

Something like:

for i, v in enumerate(a):
   print "{} : {}".format(i, v)
AShelly
  • 34,686
  • 15
  • 91
  • 152
klasske
  • 2,164
  • 1
  • 24
  • 31
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