如何使用python查找最长的单词?

如何使用python查找最长的单词?,python,word,max,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' 如果我正确理解你的问题: >>> s = "a aa aaa aa" >>> max(s.split(), key=

如何使用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'

如果我正确理解你的问题:

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

split()
将字符串拆分为单词(用空格分隔)
max()
使用内置的
len()
函数(即字符串长度)查找最大的元素,以确定“最大”的含义。

如果我正确理解您的问题:

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

split()
将字符串拆分为单词(用空格分隔)
max()
使用内置的
len()
函数(即字符串长度)查找最大的元素,以确定“最大”的含义。

这里有一个来自“您能做到多困难”类别的元素,也违反了不应该涉及自己的类的要求:

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()解决方案之一:-)。

这里有一个属于“您能做到多困难”类别的解决方案,这也违反了不应该涉及自己的类的要求:

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()解决方案之一:-)。

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

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

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

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

这可能是我读过的最难理解的问题。您正在查找给定字符串中最长的单词,因此在您的示例中,这将是“aaa”,对吗?!您希望使用内置函数从单个表达式获得它,而无需创建自己的函数或类。这就是你问题的实质吗?@LarsOn:请不要评论你自己的问题。请删除评论并用新信息更新问题。这可能是我读过的最难理解的问题。您正在查找给定字符串中最长的单词,因此在您的示例中,这将是“aaa”,对吗?!您希望使用内置函数从单个表达式获得它,而无需创建自己的函数或类。这就是你问题的实质吗?@LarsOn:请不要评论你自己的问题。请删除评论并用新信息更新问题。啊,更好的是:o.i='';([setattr(o,'i',x)表示s.split()中的x,如果len(x)>len(o.i)],o.i)[1]啊,更好的是:o.i=”;([setattr(o,'i',x)表示s.split()中的x,如果len(x)>len(o.i)],o.i[1]