token_list = ['lg', 'was', 'beaten']
defined_words = ['hand', 'leg', 'head', 'arm', 'finger', 'wrist', 'thigh']
for i in range(0, len(token_list), 1):
if token_list[i] in defined_words:
print(token_list[i])
break
elif token_list not in defined_words:
print('no injury')
在上面的代码中,当在定义的列表中找不到标记列表中的所有单词时,我不希望它打印三次无损伤。让它打印一次不受伤
试试这个:
token_list = ['lg', 'was', 'beaten']
defined_words = ['hand', 'leg', 'head', 'arm', 'finger', 'wrist', 'thigh']
for i in range(0, len(token_list), 1):
if token_list[i] in defined_words:
print(token_list[i])
break
else:
print('no injury')
如果到达循环末尾且没有提前中断,则执行
else
循环的 for
子句
Python 有一个方便的
for-else
构造,在这里很有用:
token_list = ['leg', 'was', 'beaten']
defined_words = ['hand', 'leg', 'head', 'arm', 'finger', 'wrist', 'thigh']
for word in token_list:
if word in defined_words:
print(word)
break
else:
print('no injury')
请注意,这里的 else 子句与 for 对齐,而不是与 if 对齐。仅当 for 循环not 中断时,才会执行此 else 子句。