繁体   English   中英

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

[英]How to find the longest word with python?

如何使用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()函数查找最大元素,即字符串长度,作为找出“最大”含义的关键。

这是“你能做到多困难”类别中的一个,也违反了不应该涉及自己的类的要求:

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])    
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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM