kk1*_*156 2 python for-loop idioms idiomatic
你如何将c风格的循环转换为python?
for (int i = m; i >= lowest; i--)
Run Code Online (Sandbox Code Playgroud)
我想出的最好的是:
i = mid
for i in range(i, low,-1):
Run Code Online (Sandbox Code Playgroud)
for i in range(m, low - 1, -1):
Run Code Online (Sandbox Code Playgroud)
请记住range,不包括stop参数.
range(...)
range(stop) -> list of integers
range(start, stop[, step]) -> list of integers
Run Code Online (Sandbox Code Playgroud)
这段代码和C代码之间的区别在于,在Python中2,a list正在内存中构建,range因此对于非常大的范围,这可能是一个问题.更换range用xrange不会在内存中构建列表和使代码几乎相同.在Python中,3此问题不再存在.