需要Python字长函数示例

时间:2012-02-15 05:09:51

标签: python string

我的作业有点麻烦。我应该编写一个函数“limitWords”,将输入限制为20个单词,如果输入超过20个单词,则将输入截断为20个单词。

我使用“len(text.split())”作为计算单词的方法,所以20或更少的部分可以工作,但我不知道如何截断输入而不将其改为二十个字列表。

我不知道我是否正确地执行了if语句的第一部分,但输入第二位会有所帮助。我不是在寻找复制和粘贴答案 - 解释或类似的例子是首选。谢谢!

totalwords = len(text.split())
if totalwords <= 20:
    return text

3 个答案:

答案 0 :(得分:7)

我认为列表方法非常可行 - 你已经差不多了。

您的text.split()已生成一系列字词,因此您可以执行以下操作:

words = text.split()
totalwords = len(words)

然后,您可以选择前20个(如果有太多单词),并将数组重新加入。

要加入,请查看str.join

举个例子:

'||'.join(['eggs','and','ham'])
# returns 'eggs||and||ham'

答案 1 :(得分:2)

此处使用列表没有问题。你可以做点什么

>>> st = "abc def ghi"
>>> words = st.split()
>>> words
['abc', 'def', 'ghi']
>>> if len(words)>2:
...     print " ".join(words[:2])
...
abc def

在上述情况下,字数限制为2,我使用List Slicingstr.join()来获取所需的输出。

答案 2 :(得分:1)

假设split()按预期工作,为什么不将前20个项重新组合成一个字符串并将其返回?