2014-12-05 63 views

回答

5
for i in range(m, low - 1, -1): 

记住range是独家stop参数。

range(...) 
    range(stop) -> list of integers 
    range(start, stop[, step]) -> list of integers 

此代码与C代码之间的区别是,在Python 2,一个list被在存储器构成由range因此对于非常巨大范围,这可能是一个问题。用xrange代替range不会在内存中建立一个列表并使代码几乎相同。在Python 3这个问题不再存在。

+0

嘿!你回来了。 ;-) – 2014-12-05 10:36:55

1

m从那里循环开始。

l其中循环停止,并且范围中排除最后一个项目,从而l-1

-1反向阵列。

for i in range(m, l-1, -1): 
0
m = 20 
low = 10 

for i in range(m, low - 1, -1): 
    print i 

这会倒计时预期:

20 
19 
18 
17 
16 
15 
14 
13 
12 
11 
10 

range有三个参数,启动,停止,每一步之间的增量。

0

在可能的情况下,Python的习惯用法是直接遍历这些项目,而不是通过它们进行计数。因此,一个惯用的方式倒计时将for item in reversed(list): print item或采取扭转片>>> someList[m:lowest-1:-1]

如果您遍历项目,还需要一个计数器,Python有enumerate()而循环,从而产生计数索引号。 for index, value in enumerate(someList):

这并不总是可以做到这一点,有时候你正在计数,除了数字之外没有检查其他任何数据,range()没问题 - 正如其他答案所暗示的那样。但是当你有一个for (int i=...循环时,看看你是否可以改变它直接对数据进行操作。编写“Python中的C”对任何人都不好玩。