python - 在 Python 中查找字符串中长度最短的单词

标签 python

<分区>

我正在做一项作业,我必须让某人输入一串单词,然后我的程序应该挑选出该字符串中最短和最长单词的长度。我已经成功地让它找出了最长单词的长度:

def longWord(string):
    alist = []
    length = 0
    for letter in string:
        if letter != " ":
            length +=1
        else:
            alist.append(length)
            length = 0
        return alist

所以如果输入是“happy day”,我的打印函数会告诉我最长的单词是 5 个字符。

但是,对于我这辈子来说,我无法弄清楚如何编写一些东西来挑选出输入字符串中最短单词的长度。我该怎么做?

最佳答案

找到最小单词的最简单方法是使用min 函数和len 函数作为key :

>>> s = 'Happy day'
>>> l = s.split()
>>> min(l, key=len)
=> 'day'

同样,要找到最长的单词,请使用max:

>>> max(l, key=len)
=> 'Happy'

现在是简单的部分,为了获得它的长度,将上面的内容包含在len 函数中:

>>> len(min(l, key=len))
=> 3

关于python - 在 Python 中查找字符串中长度最短的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47113916/

相关文章:

python - 在 Python 中绘制随机过程

python - wxPython列表Ctrl : Add Column and Images

python - 如何使用 WTForms 将 HTML 表单中的可变长度字符串列表发送到 Flask?

python - Django 不显示两个 DetailView

python - 如何计算pandas数据框中单元格内的行数,这些行不是空行

python - %s 可以是整数吗? *Python代码*

没有真实性验证的python ssh

python - Pandas merge 每次合并时除以一个值

python - 是否需要在 Cython 中显式删除动态分配的容器(如 std::vector)

python - Pandas :在垃圾箱内绘制平均值 - 需要格式化帮助