2010-11-27 42 views
57

我可能是錯的(只是讓我知道,我會刪除的問題),但它似乎Python將不在Python中減少循環是不可能的?

for n in range(6,0): 
    print n 

我使用的xrange嘗試,並沒有擦出火花響應。我怎樣才能實現呢?

+0

出於好奇,你用這個做什麼?這種功能很少見! – katrielalex 2010-11-27 22:07:26

+0

@katrielalex我用它從右到左迭代矩陣。你有什麼不同的建議我應該這樣做嗎? – Gal 2010-11-27 23:33:14

+0

你可以嘗試`爲我在顛倒(墊):`雖然這可能會更慢 – katrielalex 2010-11-27 23:42:45

回答

128
for n in range(6,0,-1): 
    print n 
# prints [6, 5, 4, 3, 2, 1] 
3
for n in range(6,0,-1): 
    print n 
2
>>> range(6, 0, -1) 
[6, 5, 4, 3, 2, 1] 
25

這是非常晚了,但我只是想補充一點,還有一個更優雅的方式:使用reversed

for i in reversed(range(10)): 
    print i 

給出:

4 
3 
2 
1 
0 
5
for n in range(6,0,-1) 

這將使6,5,4,3,2,1

你至於

for n in reversed(range(0,6)) 

會給你5,4,3,2,1,0

1

0是有條件的值時,這種情況是真實的,循環將保持executing.10是初始值。 1是可能簡單遞減的修飾符。

for number in reversed(range(0,10,1)): 
print number;