如何用python找到最长的单词?

时间:2009-07-28 09:10:08

标签: python word max

如何使用python从一组单词中找到最长的单词? 我可以找到第一个这样的词:

'a aa aaa aa'[:'a aa aaa aa'.find(' ',1,10)]

'a'

rfind is another subset

'a aa aaa aa'[:'a aa aaa aa'.rfind(' ',1,10)]

'a aa aaa'

4 个答案:

答案 0 :(得分:34)

如果我理解你的问题:

>>> s = "a aa aaa aa"
>>> max(s.split(), key=len)
'aaa'

split()将字符串拆分为单词(由空格分隔); max()使用内置len()函数找到最大的元素,即字符串长度,作为找出“最大”含义的关键。

答案 1 :(得分:2)

这里有一个类别“你有多难做到”,也违反了不应该涉及自己的课程的要求:

class C(object): pass
o = C()
o.i = 0
ss = 'a aa aaa aa'.split()
([setattr(o,'i',x) for x in range(len(ss)) if len(ss[x]) > len(ss[o.i])], ss[o.i])[1]

有趣的是,在理解中计算列表时使用对象成员维护状态,最终丢弃列表并仅使用副作用。

但请使用以上 max()解决方案之一:-)。

答案 2 :(得分:0)

在字符串中查找最长单词的另一种方法:

a="a aa aaa aa"
b=a.split()
c=sorting(b,key=len)
print(c[-1])    

答案 3 :(得分:0)

$request->all()