2014-08-29 9 views
5

In Ruby, wenn ich ein Array habe und ich möchte sowohl die Indizes und die Werte in einer Schleife verwenden, verwende ich each_with_index.Python-Äquivalent von Rubys each_with_index?

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

druckt

0 : a 
1 : b 
2 : c 

Was ist der Pythonic Weg, um die gleiche Sache zu tun?

+0

[enumerate] (https://docs.python.org/3/library/functions.html#enumerate) – grc

Antwort

6

Etwas wie:

for i, v in enumerate(a): 
    print "{} : {}".format(i, v) 
+1

. Sie können auch die Funktion string format verwenden, um die Kopplung für den Datentyp und die Parameterreihenfolge 'print' {}: {} ". Format (v, i)' zu entfernen – flakes

2

Das enumerate sein würde. Diese

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

Drucke

0 : a 
1 : b 
2 : c