ho bisogno di fare in Python lo stesso:indici Count utilizzando "per" in Python
for (i = 0; i < 5; i++) {cout << i;}
ma non so come usare FOR in Python per ottenere l'indice degli elementi in una lista .
ho bisogno di fare in Python lo stesso:indici Count utilizzando "per" in Python
for (i = 0; i < 5; i++) {cout << i;}
ma non so come usare FOR in Python per ottenere l'indice degli elementi in una lista .
Se si dispone di una certa data lista, e si desidera iterare i suoi elementi e indici, è possibile utilizzare enumerate()
:
for index, item in enumerate(my_list):
print index, item
Se avete solo bisogno gli indici, è possibile utilizzare range()
:
for i in range(len(my_list)):
print i
Questo?
for i in range(0,5):
print(i)
Questo funzionerebbe per me perché so già che avrò sempre 5 elementi. :) Ma in altri casi avrei bisogno di ottenere gli indici di un numero sconosciuto di elementi. –
uso enumerate:
>>> l = ['a', 'b', 'c', 'd']
>>> for index, val in enumerate(l):
... print "%d: %s" % (index, val)
...
0: a
1: b
2: c
3: d
Se si dispone di un elenco esistente e si desidera ciclo su di esso e tenere traccia degli indici è possibile utilizzare la funzione enumerate
. Per esempio
l = ["apple", "pear", "banana"]
for i, fruit in enumerate(l):
print "index", i, "is", fruit
In additon ad altre risposte - molto spesso, non c'è bisogno di iterare utilizzando l'indice, ma si può semplicemente utilizzare un per-ogni espressione:
my_list = ['a', 'b', 'c']
for item in my_list:
print item
In questo caso restituirò gli articoli, non i suoi indici. =/ –
right - usa enumerate() o per l'indice nell'intervallo (len (mia_elenco)) quindi – alex
Basta usare
for i in range(0, 5):
print i
per scorrere il set di dati e stampare ogni valore.
Per set di dati di grandi dimensioni, si desidera utilizzare xrange, che ha una firma molto simile, ma funziona in modo più efficace per set di dati più grandi. http://docs.python.org/library/functions.html#xrange
Il modo più semplice per cui vorrei andare è;
i = -1
for step in my_list:
i += 1
print(i)
#OR - WE CAN CHANGE THE ORDER OF EXECUTION - SEEMS MORE REASONABLE
i = 0
for step in my_list:
print(i) #DO SOMETHING THEN INCREASE "i"
i += 1
Quali elementi? Quale lista? – Sean
Non ho inserito la lista. ciò di cui ho bisogno è semplicemente ottenere l'indice degli elementi in una lista. Normalmente userei un FOR in C++ o Java per ottenere queste informazioni. In questo caso, supponendo che la lista sia ["a", "b", "c"], ho bisogno dell'indice di a, b e c (0, 1 e 2). –
duplicato di http://stackoverflow.com/questions/522563/accessing-the-index-in-python-for-loops – WolframH