-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()不要な作業を行います。スペースの数を数えて 1 つ追加すると、単語数がはるかに速くなります。これは、すべての単語が単一のスペースで区切られていることを前提としていますが、それ以上ではありません。

証拠:

>>>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 に答える