-2
x="I use computers"
print (x)
y=x[0:1]
y1=x[2:5]
y2=x[6:15]
n=(y+y1+y2)
print len(n)

我知道这会计算字母的数量,但我如何计算句子中的单词数?

4

2 回答 2

2

如果您只是对计算单词感兴趣,而不是将字符串拆分为单词,则会split()做不必要的工作。通过计算空格的数量并加一,您可以更快地获得单词的数量。尽管这确实假设所有单词都由一个空格分隔,而不是更多。

证明:

>>>import timeit 
>>> timeit.timeit("len(x.split())", setup='x="I use computers"' , number=10**6)

0.28843931717636195
>>> timeit.timeit("x.count(' ')+1", setup='x="I use computers"' , number=10**6)

0.19020372901493232
于 2013-02-26T20:37:14.750 回答
0

试试这段代码

x = "I use computers"
print len(x.split())
于 2013-02-26T20:13:21.723 回答