计算Python中标点符号之间的单词数

计算Python中标点符号之间的单词数,python,parsing,text,package,text-analysis,Python,Parsing,Text,Package,Text Analysis,我想使用Python计算文本输入块中某些标点符号之间出现的单词数。例如,到目前为止对所有内容的分析可以表示为: [23,2,14] …因为第一个句子,除了结尾的句点外没有标点符号,有23个单词,接下来的“例如”短语有两个,其余的以冒号结尾,有14个单词 这可能不太难做到,但是(与“不要重新发明轮子”这一看起来特别像python的哲学一起)已经有什么特别适合这项任务了吗?Joran比我快,但我要补充我的方法: punctuation_i_care_about="?.!" split_by_punc

我想使用Python计算文本输入块中某些标点符号之间出现的单词数。例如,到目前为止对所有内容的分析可以表示为:

[23,2,14]

…因为第一个句子,除了结尾的句点外没有标点符号,有23个单词,接下来的“例如”短语有两个,其余的以冒号结尾,有14个单词


这可能不太难做到,但是(与“不要重新发明轮子”这一看起来特别像python的哲学一起)已经有什么特别适合这项任务了吗?

Joran比我快,但我要补充我的方法:

punctuation_i_care_about="?.!"
split_by_punc =  re.split("[%s]"%punctuation_i_care_about, some_big_block_of_text)
words_by_puct = [len(x.split()) for x in split_by_punc]
from string import punctuation
import re

s = 'I want to use Python to count the numbers of words that occur between certain punctuation characters in a block of text input. For example, such an analysis of everything written up to this point might be represented as'

gen = (x.split() for x in re.split('[' + punctuation + ']',s))

list(map(len,gen))
Out[32]: [23, 2, 14]

(我喜欢
map

乔兰击败了我,但我要补充我的方法:

from string import punctuation
import re

s = 'I want to use Python to count the numbers of words that occur between certain punctuation characters in a block of text input. For example, such an analysis of everything written up to this point might be represented as'

gen = (x.split() for x in re.split('[' + punctuation + ']',s))

list(map(len,gen))
Out[32]: [23, 2, 14]

(我喜欢
map

还有,你想解决的问题有什么真实的例子吗?我尝试了一些随意的网络搜索(其中显示了大量的词频统计解析器等);也许这已经够琐碎的了,我自己写这篇文章也不会有什么麻烦。不过,以非专家的身份提问从来都没有坏处。至于这个问题,它更像是一个实验。这只是其中的一个小部分。还有,你想解决的问题有什么真实的例子吗?我尝试了一些随意的网络搜索(其中显示了很多词频统计的解析器,等等);也许这已经够琐碎的了,我自己写这篇文章也不会有什么麻烦。不过,以非专家的身份提问从来都没有坏处。至于这个问题,它更像是一个实验。这只是其中的一小部分。你在“我关心的标点符号”中忘了一个逗号。就目前而言,它不会输出op想要的内容。Joran的答案=简单部分的例子,@geekazoid:-)Python太棒了。你在“标点符号”中忘了一个逗号。就目前而言,它不会输出op想要的东西。Joran的答案=在琐碎的部分,@geekazoid:-)Python真是太棒了。一般来说,我喜欢函数式编程;)我喜欢函数式编程;)