How to find the longest word with python?

2019-01-27 07:41发布

How can I use python to find the longest word from a set of words? I can find the first word like this:

'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'

标签: python word max
4条回答
三岁会撩人
2楼-- · 2019-01-27 08:07

Here is one from the category "How difficult can you make it", also violating the requirement that there should be no own class involved:

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]

The interesting bit is that you use an object member to maintain state while the list is being computed in the comprehension, eventually discarding the list and only using the side-effect.

But please do use one of the max() solutions above :-) .

查看更多
Viruses.
3楼-- · 2019-01-27 08:11
def largest_word(sentence):
    split_sentence = sentence.split(' ')
    largest_word = ''
    for i in range(len(split_sentence)):
        if len(split_sentence[i]) > len(largest_word):
           largest_word = split_sentence[i]
    print(largest_word)


sentence = "Improve your coding skills with python"

largest_word(sentence)
查看更多
老娘就宠你
4楼-- · 2019-01-27 08:18

If I understand your question correctly:

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

split() splits the string into words (seperated by whitespace); max() finds the largest element using the builtin len() function, i.e. the string length, as the key to find out what "largest" means.

查看更多
来,给爷笑一个
5楼-- · 2019-01-27 08:28

Another way to find longest word in string:

a="a aa aaa aa"
b=a.split()
c=sorting(b,key=len)
print(c[-1])    
查看更多
登录 后发表回答