gpt4 book ai didi

python - 如何不计算单词之间的标点符号

转载 作者:太空宇宙 更新时间:2023-11-04 00:00:57 24 4
gpt4 key购买 nike

什么是计算变量的最佳方法,比如只用“不应该”这样的词来计算撇号。

例如“我不应该那样做”算一次但是“‘我不会那样做’”算零

基本上我如何使用计数来计算单词中的撇号而不是引号。

我还没能成功地尝试很多。我只能使用基本的 for 循环来计算每个撇号,但不能具体缩小范围。

for sentence in split_sentences: 
for w in sentence:
for p in punctuation:
if p == w:
if word in counts:
counts[p] += 1
else:
counts[p] = 1

else:
pass

对于给定的单词列表,它应该只计算单词而不是单词周围的单词。所以“不应该”会算在内,但“应该”不会。

最佳答案

您可以检查它是否在单词的内部:

for sentence in split_sentences: 
for w in sentence:
for p in punctuation:
if p in w and w[0] != p and w[-1] != p:
if word in counts:
counts[p] += 1
else:
counts[p] = 1
else:
pass

重要的一行是 if p in w and w[0] != p and w[-1] != p:我们有 3 个规则来计算它:

  • 标点符号p在单词2
  • 单词 w 不以标点符号 p 开头 (w[0])
  • 单词 w 不以标点符号 p 结尾 (w[-1])

这样做的更 pythonic 方式是使用 str 可用方法,endswithstartswith:

...
if p in w and not w.startswith(p) and not w.endswith(p):
...

关于python - 如何不计算单词之间的标点符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55758759/

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