在 for 循环中给定一个 IF-ELSE 语句,我是否可以只在条件满足一次时跳过 IF? python
Given an IF-ELSE statement inside a for loop, can I only skip the IF when the condition is met once? python
下面是一个函数,通过在动词词尾添加 'X' 来标记句子中的动词。这是使用 spaCy 进行 POS 标记来完成的。该函数在 for 循环中有一个 if-else 语句(见下文)。 if 语句检查一个词是否是要标记的动词。
但是,一旦找到 n
个动词,我希望能够跳过 IF 部分,然后只继续 运行 函数的其余部分。我知道这可能是一个简单或愚蠢的问题,并尝试了 while 循环和 continue
但无法正常工作。有办法实现吗?
def marking(row):
chunks = []
for token in nlp(row):
if token.tag_ == 'VB':
# I would like to specify the n number of VB's to be found
# once this is met, only run the else part
chunks.append(token.text + 'X' + token.whitespace_)
else:
chunks.append(token.text_with_ws)
L = "".join(chunks)
return L
添加一个计数器和一个 break
def marking(row, max_verbs=5):
chunks = []
verbs = 0
for token in nlp(row):
if token.tag_ == 'VB':
if verbs >= max_verbs:
break # Don't add anymore, end the loop
chunks.append(token.text + 'X' + token.whitespace_)
verbs += 1
else:
chunks.append(token.text_with_ws)
return "".join(chunks)
通过marking(row, max_verbs=N)
调用
下面是一个函数,通过在动词词尾添加 'X' 来标记句子中的动词。这是使用 spaCy 进行 POS 标记来完成的。该函数在 for 循环中有一个 if-else 语句(见下文)。 if 语句检查一个词是否是要标记的动词。
但是,一旦找到 n
个动词,我希望能够跳过 IF 部分,然后只继续 运行 函数的其余部分。我知道这可能是一个简单或愚蠢的问题,并尝试了 while 循环和 continue
但无法正常工作。有办法实现吗?
def marking(row):
chunks = []
for token in nlp(row):
if token.tag_ == 'VB':
# I would like to specify the n number of VB's to be found
# once this is met, only run the else part
chunks.append(token.text + 'X' + token.whitespace_)
else:
chunks.append(token.text_with_ws)
L = "".join(chunks)
return L
添加一个计数器和一个 break
def marking(row, max_verbs=5):
chunks = []
verbs = 0
for token in nlp(row):
if token.tag_ == 'VB':
if verbs >= max_verbs:
break # Don't add anymore, end the loop
chunks.append(token.text + 'X' + token.whitespace_)
verbs += 1
else:
chunks.append(token.text_with_ws)
return "".join(chunks)
通过marking(row, max_verbs=N)