tôi cần phải làm bằng Python giống như:chỉ số Đếm sử dụng "cho" bằng Python
for (i = 0; i < 5; i++) {cout << i;}
nhưng tôi không biết làm thế nào để sử dụng cho bằng Python để có được những chỉ số của các yếu tố trong một danh sách .
tôi cần phải làm bằng Python giống như:chỉ số Đếm sử dụng "cho" bằng Python
for (i = 0; i < 5; i++) {cout << i;}
nhưng tôi không biết làm thế nào để sử dụng cho bằng Python để có được những chỉ số của các yếu tố trong một danh sách .
Nếu bạn có một số danh sách đưa ra, và muốn để lặp qua các mục của nó và chỉ số, bạn có thể sử dụng enumerate()
:
for index, item in enumerate(my_list):
print index, item
Nếu bạn chỉ cần các chỉ số, bạn có thể sử dụng range()
:
for i in range(len(my_list)):
print i
Điều này?
for i in range(0,5):
print(i)
Điều này sẽ phù hợp với tôi vì tôi đã biết rằng tôi sẽ luôn có 5 mục. :) Nhưng trong các trường hợp khác, tôi cần phải có được các chỉ số chưa biết về các phần tử. –
sử dụng 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
Nếu bạn có một danh sách hiện có và bạn muốn để lặp qua nó và theo dõi các chỉ số bạn có thể sử dụng chức năng enumerate
. Ví dụ
l = ["apple", "pear", "banana"]
for i, fruit in enumerate(l):
print "index", i, "is", fruit
Trong additon để câu trả lời khác - rất thường xuyên, bạn không cần phải lặp sử dụng các chỉ số nhưng bạn chỉ có thể sử dụng một for-each biểu:
my_list = ['a', 'b', 'c']
for item in my_list:
print item
Trong trường hợp này nó sẽ trả lại cho tôi các mục, không phải chỉ mục của nó. =/ –
quyền - sử dụng liệt kê() hoặc chỉ số trong phạm vi (len (my_list)) sau đó – alex
Chỉ cần sử dụng
for i in range(0, 5):
print i
để lặp qua bộ dữ liệu của bạn và in từng giá trị.
Đối với các tập dữ liệu lớn, bạn muốn sử dụng xrange, có chữ ký rất giống nhau, nhưng hoạt động hiệu quả hơn cho các tập dữ liệu lớn hơn. http://docs.python.org/library/functions.html#xrange
Cách đơn giản nhất mà tôi sẽ thực hiện là;
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
Yếu tố nào? Danh sách gì? – Sean
Tôi không đặt danh sách. những gì tôi cần là chỉ cần lấy chỉ mục của các phần tử trong một danh sách. Thông thường tôi sẽ sử dụng một FOR trong C++ hoặc Java để có được thông tin này. Trong trường hợp này, giả sử danh sách là ["a", "b", "c"], tôi cần chỉ mục a, b và c (0, 1 và 2). –
trùng lặp của http://stackoverflow.com/questions/522563/accessing-the-index-in-python-for-loops – WolframH