如何将c风格的循环转换为python?将C风格的循环转换为python
for (int i = m; i >= lowest; i--)
,我想出了最好的是:
i = mid
for i in range(i, low,-1):
如何将c风格的循环转换为python?将C风格的循环转换为python
for (int i = m; i >= lowest; i--)
,我想出了最好的是:
i = mid
for i in range(i, low,-1):
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
这个问题不再存在。
m
从那里循环开始。
l
其中循环停止,并且范围中排除最后一个项目,从而l-1
和
-1
反向阵列。
for i in range(m, l-1, -1):
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
有三个参数,启动,停止,每一步之间的增量。
在可能的情况下,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”对任何人都不好玩。
嘿!你回来了。 ;-) – 2014-12-05 10:36:55