このfor ... else
ステートメントは、検索ループを実装するために使用されます。
特に、検索ループで何も見つからない場合に対応します。
for z in xrange(10):
if z == 5:
# We found what we are looking for
print "we found 5"
break # The else statement will not execute because of the break
else:
# We failed to find what we were looking for
print "we failed to find 5"
z = None
print 'z = ', z
出力:
we found 5
z = 5
その検索はと同じです
z = None
for z in xrange(10):
if 5 == z:
# We found what we are looking for
break
if z == None:
print "we failed to find 5"
else:
print "we found 5"
print 'z = ', z
for
検索リストが空の場合(つまり)、zは初期化されないことに注意してください[]
。そのため、検索後にzを使用する場合は、zが定義されていることを確認する必要があります。z
以下は、印刷しようとすると定義されていないため、例外が発生します。
for z in []:
if 5 == z:
break
print "z = ",z
出力
print "z = ",z
NameError: name 'z' is not defined
要約すると、このelse
句は、for
ループが自然に終了するたびに実行されます。for
ループでブレークまたは例外が発生した場合、else
ステートメントは実行されません。