muszę zrobić w Pythonie jak poniżej:Hrabia indeksów przy użyciu „za” w Pythonie
for (i = 0; i < 5; i++) {cout << i;}
ale nie wiem jak używać FOR w Pythonie, aby uzyskać indeks elementów na liście .
muszę zrobić w Pythonie jak poniżej:Hrabia indeksów przy użyciu „za” w Pythonie
for (i = 0; i < 5; i++) {cout << i;}
ale nie wiem jak używać FOR w Pythonie, aby uzyskać indeks elementów na liście .
Jeśli masz jakieś daną listę, a chcesz iteracyjne nad jego elementów i indeksy, można użyć enumerate()
:
for index, item in enumerate(my_list):
print index, item
Jeśli potrzebujesz tylko indeksy, można użyć range()
:
for i in range(len(my_list)):
print i
To?
for i in range(0,5):
print(i)
To będzie działać dla mnie, ponieważ wiem już, że zawsze będę mieć 5 przedmiotów. :) Ale w innych przypadkach musiałbym uzyskać indeksy o nieznanej liczbie elementów. –
użycie 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
Jeśli masz już listę i chcesz pętli nad nim i śledzić indeksów można użyć funkcji enumerate
. Na przykład
l = ["apple", "pear", "banana"]
for i, fruit in enumerate(l):
print "index", i, "is", fruit
w additon do innych odpowiedzi - bardzo często, nie trzeba iteracyjne za pomocą indeksu, ale można po prostu użyć for-each wyrażenie:
my_list = ['a', 'b', 'c']
for item in my_list:
print item
W takim przypadku zwrócą mi pozycje, a nie indeksy. =/ –
right - użyj wyliczenia() lub indeksu w zakresie (len (my_list)), a następnie – alex
Wystarczy użyć
for i in range(0, 5):
print i
do iteracji zestawu danych i drukowania każdej wartości.
W przypadku dużych zestawów danych należy użyć formatu xrange, który ma bardzo podobny podpis, ale działa wydajniej w przypadku większych zestawów danych. http://docs.python.org/library/functions.html#xrange
Najprostszy sposób, w jaki bym chodził;
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
Jakie elementy? Jaką listę? – Sean
Nie umieściłem listy. potrzebuję tylko uzyskać indeks elementów na liście. Zwykle używam FOR w C++ lub Java, aby uzyskać te informacje. W tym przypadku, zakładając, że lista to ["a", "b", "c"], potrzebuję indeksu a, b i c (0, 1 i 2). –
duplikat http://stackoverflow.com/questions/522563/accessing-the-index-in-python-for-loops – WolframH