如何使用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'
答案 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()