我是Python的新手,无法弄清楚以下语法,
item = [0,1,2,3,4,5,6,7,8,9]
for element in item:
if not element:
pass
print(element)
这给了我所有这些元素,因为Pass将这个步骤跳到下一个
,这是有意义的但是,如果我继续使用,我会得到以下内容
item = [0,1,2,3,4,5,6,7,8,9]
for element in item:
if not element:
continue
print(element)
[1,2,3,4,5,6,7,8,9]
有人可以告诉我为什么我得不到' 0'? 0不在列表中吗?
答案 0 :(得分:3)
continue
会跳过它之后的语句,而pass
则不会这样做。实际上pass
什么都不做,对于处理一些语法错误很有用,如:
if(somecondition): #no line after ":" will give you a syntax error
您可以通过以下方式处理:
if(somecondition):
pass # Do nothing, simply jumps to next line
演示:
while(True):
continue
print "You won't see this"
这将跳过print
语句并且不打印任何内容。
while(True):
pass
print "You will see this"
这将继续打印You will see this
答案 1 :(得分:2)
答案 2 :(得分:1)
pass
是无操作。它什么都不做。所以当not element
为真时,Python什么也不做,只是继续。你也可以省略整个if
测试,看看这里的差异。
continue
表示:跳过循环体的其余部分并转到下一次迭代。因此,当not element
为真时,Python将跳过循环的其余部分(print(element)
行),继续并进行下一次迭代。
not element
为0时, element
为真;见Truth Value Testing。