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'
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'
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.
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 :-) .
Another way to find longest word in string:
a="a aa aaa aa"
b=a.split()
c=sorting(b,key=len)
print(c[-1])
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)