用惯C++/Java 的for 循环,很自然地以为下面的code 在 python 也是OK
a = [1, 2, 3, 4]
for i in range(4):
if a[i] == 5:
break
if i >= 4:
print "Hello Python"
逻辑上看着也是对的,但字串 "Hello Python" 却始终打不出来。这其实就是一个坑。
在Python 中,
for i in range(4):
pass
#等价于
for i in [0, 1, 2, 3]:
pass
所以 i 是不会大于或等于 4 的。