【问题标题】:Python word length function example needed需要Python字长函数示例
【发布时间】:2012-03-06 11:41:10
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: python string


    【解决方案1】:

    假设 split() 可以按您的意愿工作,为什么不将前 20 个项目重新组合成一个字符串并返回它?

    【讨论】:

    • 也谢谢你!真的很有帮助 - 我现在知道了!
    【解决方案2】:

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

    你的text.split() 已经产生了一个单词数组,所以你可以这样做:

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

    然后,您可以按照您所说的选择前 20 个(如果单词太多),然后将数组重新组合在一起。

    要加入,请查看str.join

    举个例子:

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

    【讨论】:

      【解决方案3】:

      这里使用列表没有问题。你可以做类似的事情

      >>> 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() 来获得所需的输出。

      【讨论】:

      • 也谢谢你。很有帮助的例子!
      猜你喜欢
      • 1970-01-01
      • 2020-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-31
      • 2012-12-08
      相关资源
      最近更新 更多