gpt4 book ai didi

python - 检查 python 中的邮资模式

转载 作者:太空宇宙 更新时间:2023-11-03 14:21:42 25 4
gpt4 key购买 nike

我想检查给定的词组是否由NN构成。如果全部都是NN,则增加count值。

例如,如果我的短语是 [('micro', 'NN'), ('blog', 'NN'), ('texts', 'NN')] 我应该增加其计数为一。

我当前的代码如下。

w='micro blog texts'
postag = nltk.pos_tag(w.split())
print(postag)
count_inside = 0
for ele in postag:
if ele[1] == 'NN':
count_inside = count_inside + 1
if count_inside == len(w.splits()):
count = count + 1

尽管如此,它工作正常,但我有兴趣知道我们是否可以在 python 中用一行来完成此操作?如果是这样,请告诉我。

最佳答案

您可以在 all 函数中使用生成器表达式来实现此目的。这是一个简短的演示。

count = 0 
postag = [('micro', 'NN'), ('walk', 'V'), ('texts', 'NN')]
count += all(u[1] == 'NN' for u in postag)
print(count)

postag = [('micro', 'NN'), ('blog', 'NN'), ('texts', 'NN')]
count += all(u[1] == 'NN' for u in postag)
print(count)

输出

0
1

all 函数和相关的 any 函数非常高效,而且它们是短路的,这意味着它们一旦得到确定的结果就停止检查。因此,一旦检测到错误结果,all 就会停止生成器表达式循环。

关于python - 检查 python 中的邮资模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47898582/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com