0
このPythonコードを見て、2つの文字列の中で最も長い部分列を探していますが、なぜ3番目のパラメータがkey = lenなのか分かりません。私がlenを学んだことは、文字列の長さを返す関数ですが、ここでどのように使用されているのか分かりません。私が理解していないようなPythonの構文
def lcs(xstr, ystr):
"""
>>> lcs('thisisatest', 'testing123testing')
'tsitest'
"""
if not xstr or not ystr:
return ""
x, xs, y, ys = xstr[0], xstr[1:], ystr[0], ystr[1:]
if x == y:
return x + lcs(xs, ys)
else:
return max(lcs(xstr, ys), lcs(xs, ystr), key=len) #line A
これは 'max'関数の名前付きパラメータです:https://docs.python.org/2/library/functions.html#max。基本的に、 'lcs'に対する2回の再帰呼び出しの結果は' len'に与えられ、比較されます。これは基本的に最長の結果を返します。 – Carcigenicate
今後質問を投稿する前に、いくつかのドキュメントを参照してください。 – TigerhawkT3