如何返回字符串s中长度为n(python)的单词数?

时间:2013-04-21 19:32:23

标签: python

对于家庭作业,我假设实现一个函数numLen(),它接受​​一个字符串s和一个整数n作为参数,并返回字符串中的单词数{ {1}},其长度为s。字符串中的单词是由至少一个空格分隔的非空格字符。

一个例子是输入:

n

并得到2,因为字符串中有2个单词有4个字符。

我不知道如何做到这一点。

1 个答案:

答案 0 :(得分:4)

将字符串拆分为str.split()的单词,迭代单词,将其长度与给定数字进行比较,返回计数。

这是使用一些内置函数的紧凑实现:

In [1]: def numLen(s, n):
   ...:     return sum(1 for w in s.split() if len(w) == n)
   ...: 

In [2]: numLen("This is a test", 4)
Out[2]: 2

您可以按照

的方式自行构建版本
def numLen(s, n):
    words = ... # build a list of separate words
    i = 0 # a counter for words of length n
    for word in words:
        # check the length of 'word'
        # increment the counter if needed
    # return the counter