[英]skip iterations in for loop in python?
我之前已經用C ++編程,但是我是Python的新手。 我進行了搜索,但找不到合適的答案。 在C ++中,我可以執行以下操作:
for(int i=0; i<10;i++)
{
i+=5;
std::cout<<i<<std::endl
}
我的值將是5和11。但是如果我這樣做,則在python中:
for i in range(0,10):
i+=5
print i
i的值確實會針對該循環的迭代進行更新,但在下一次迭代中,它將變為1。雖然我確實理解在python中,每次迭代后,我都會在range生成的元組/列表中包含下一個值,但是有什么辦法可以使它像C ++那樣跳過迭代? 我真的不想使用next()函數5次
編輯:我可以將范圍函數的第三個參數用於一般用途,但是如果我只想滿足某個條件就想跳過一些迭代該怎么辦呢? 例如
for(int i=0; i<10;i++)
{
if(i%2)i+=1;
std::cout<<i<<std::endl
}
如果要在條件為真時跳過迭代,請使用continue
:
for i in range(10):
if i % 2:
continue
print(i)
我知道您在想什么,但是python內置了一些功能,可讓您在range()
函數內設置迭代步驟。 這是range()
上的官方Python文檔。
本質上,要在每次迭代后跳過x
,您可以執行以下操作:
for i in range(start, stop, x + 1):
# functions and stuff
希望這會有所幫助。
您可以使用常規的while
循環。 它看起來會不太好,但是可以完成工作。 例如:
i = 0
while i < 100:
print i
if i % 2 == 0:
i += 5
i+=1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.