【发布时间】:2012-09-14 08:26:36
【问题描述】:
像max(len(s1), len(s2)) 这样的东西只会返回最大长度。但是如果我真的想找出哪个字符串更长,或者将它保存到另一个字符串,那是怎么做的呢? max(s1,s2) 似乎返回值较大的字符串,但不一定是最长的。
注意:这必须在没有列表或数组的情况下完成。
【问题讨论】:
标签: python string string-length
像max(len(s1), len(s2)) 这样的东西只会返回最大长度。但是如果我真的想找出哪个字符串更长,或者将它保存到另一个字符串,那是怎么做的呢? max(s1,s2) 似乎返回值较大的字符串,但不一定是最长的。
注意:这必须在没有列表或数组的情况下完成。
【问题讨论】:
标签: python string string-length
max 采用 key 函数,该函数导致 max 为每个 key(val) 取最大值 val,但仍返回 val,即:
>>> max("foobar", "angstalot")
'foobar'
>>> max("foobar", "angstalot", key=len)
'angstalot'
【讨论】:
只需要一个基于每个字符串长度的简单条件表达式:
longest = s1 if len(s1) > len(s2) else s2
【讨论】:
def longest(a, b):
if len(a) > len(b):
return a
return b
【讨论】: