max(len(s1), len(s2))
之类的内容只会返回最大长度。但是如果我真的想找出哪个字符串更长,并且可能将它保存到另一个字符串,那怎么办呢? max(s1,s2)
似乎返回值较大的字符串,但不一定是最长的字符串。
注意:这必须在没有列表或数组的情况下完成。
答案 0 :(得分:39)
max
使用key
函数会导致max
为key(val)
获取最大val
,但仍会返回val
,说:
>>> max("foobar", "angstalot")
'foobar'
>>> max("foobar", "angstalot", key=len)
'angstalot'
答案 1 :(得分:1)
只需要一个基于每个字符串长度的简单条件表达式:
longest = s1 if len(s1) > len(s2) else s2
答案 2 :(得分:0)
def longest(a, b):
if len(a) > len(b):
return a
return b