如何使用 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)
我认为这更像是(下面的代码),它输出字符串中最长的单词。但是,在这种情况下,它是“句子”,只需更改 return(len(s)) 即可输出最长单词中有多少个字符,即 8。
def longest_word(text):
s = max(text.split(), key = len)
return(s)
if __name__ == "__main__":
print(longest_word("This is a sentence with words and such."))