循環在C/C++,我可以有以下循環for(int k = 1; k <= c ; k +=2)
在Python中
如何做同樣的事情在Python?
我可以在Python中執行此操作for k in range(1,c):
,這與C/C++中的for(int k = 1; k <= c ; k++)
相同。
循環在C/C++,我可以有以下循環for(int k = 1; k <= c ; k +=2)
在Python中
如何做同樣的事情在Python?
我可以在Python中執行此操作for k in range(1,c):
,這與C/C++中的for(int k = 1; k <= c ; k++)
相同。
你也應該知道,在Python中,遍歷整數索引是壞的風格,也比其他慢。如果您只想查看列表或字典中的每個項目,請直接通過列表或字典進行循環。
mylist = [1,2,3]
for item in mylist:
print item
mydict = {1:'one', 2:'two', 3:'three'}
for key in mydict:
print key, mydict[key]
這實際上是比使用具有範圍()上面的代碼速度更快,並移除外來i
變量。
如果你需要編輯就地列表項,那麼你做需要的指數,但還有一個更好的方法:
for i, item in enumerate(mylist):
mylist[i] = item**2
再次,這是速度更快,被認爲更具可讀性。這是從C++到Python時所需要做出的主要轉變之一。
嘗試使用這樣的:
for k in range(1,c+1,2):
如果你想用Python語言編寫一個循環打印一些整型值等,然後只要複製和佩特這樣的代碼,它的工作很多
#Display Value from 1 TO 3
for i in range(1,4):
print "",i,"value of loop"
# Loop for dictionary data type
mydata = {"Fahim":"Pakistan", "Vedon":"China", "Bill":"USA" }
for user, country in mydata.iteritems():
print user, "belongs to " ,country
答案是好的,但對於那些希望人們這與range()
,做形式是:
range(end)
:
>>> list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
range(start,end)
:
>>> list(range(1, 11))
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
range(start,end, step)
:
>>> list(range(0, 30, 5))
[0, 5, 10, 15, 20, 25]
在Python中,你通常對在循環中,而不是一般的像C/C++的循環,但是可以實現用下面的代碼同樣的事情。
for k in range(1, c+1, 2):
do something with k
作爲一個側面說明,如果你正在使用Python 2.x的x範圍是更有效的。 – GWW 2010-11-13 02:42:43
@GWW:xrange在技術上更有效_memory_,但除非你的範圍非常大,否則它幾乎沒有任何實際的後果,並且3.x徹底取消了「xrange」的名稱,所以使用它更容易混淆新手其他。 – 2010-11-13 02:58:49
@尼古拉斯:我只是提到它,我真的不想混淆。當我在我的代碼中產生一個巨大的瓶頸時,我瞭解了xrange的難題。我不想讓其他人陷入困境:P – GWW 2010-11-13 03:03:09