Этот код был написан на Python 3.6 в Jupyter Notebooks.В других языках я почти уверен, что построил циклы, которые выглядели так:
endRw=5
lenDF=100 # 1160
for i in range(0, lenDF):
print("i: ", i)
endIndx = i + endRw
if endIndx > lenDF:
endIndx = lenDF
print("Range to use: ", i, ":", endIndx)
# this line is a mockup for an index that is built and used
# in the real code to do something to a pandas DF
i = endIndx
print("i at end of loop", i)
В тестировании, однако, i
не сбрасывается до endIndx
, и поэтому цикл не создает требуемый индексзначения.
Я смог решить эту проблему и получить то, что искал, построив цикл while, подобный следующему:
endRw=5
lenDF=97 # 1160
i = 0
while i < lenDF:
print("i: ", i)
endIndx = i + endRw
if endIndx > lenDF:
endIndx = lenDF
print("Range to use: ", i, ":", endIndx)
# this line is a mockup for an index that is built and used
# in the real code to do something to a pandas DF
i = endIndx
print("i at end of loop: ", i)
Вопрос: есть ли способ изменить * 1011?* внутри цикла for
в python?Есть ли способ сделать то, что я сделал с циклом while
, используя цикл for
в Python?
Решил проблему с while
, но просто любопытно: