如何使用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'
如何使用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()
函数(即字符串长度)的最大元素,作为找出“最大”意味着什么的关键。
+1真正优雅的代码(至少对于Java开发人员来说) – dfa 2009-07-28 09:23:22
这是一个从类别“你怎么难能做到”,也违反了规定,即应该不涉及自己的类:
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])
这可能是最难理解我读过的问题。你正在寻找给定字符串中最长的单词,所以在你的例子中,这将是'aaa',对吧?!你想从使用内置插件的单个表达式获得它,而不需要创建自己的函数或类。这是你问题的本质吗? – ThomasH 2009-07-28 09:21:43
@LarsOn:请不要评论你自己的问题。请删除评论并用新信息更新问题。 – 2009-07-28 10:12:13