12

のようなものmax(len(s1), len(s2))は、最大長のみを返します。しかし、実際にどちらの文字列が長いかを調べ、おそらくそれを別の文字列に保存したい場合、それはどのように行われるのでしょうか? max(s1,s2)より大きな値の文字列を返すようですが、必ずしも最長ではありません。

注: これは、リストまたは配列なしで行う必要があります。

4

3 に答える 3

40

maxは、各の最大値を取得するkey関数を受け取りますが、それでもを返します。maxkey(val)valval

>>> max("foobar", "angstalot")
'foobar'
>>> max("foobar", "angstalot", key=len)
'angstalot'
于 2012-09-21T21:47:16.633 に答える
1

各文字列の長さに基づく単純な条件式だけが必要です。

longest = s1 if len(s1) > len(s2) else s2
于 2012-09-21T21:58:26.187 に答える
0
def longest(a, b):
   if len(a) > len(b):
       return a
   return b
于 2012-09-21T21:47:29.143 に答える