Also schaue ich diesen Python-Code, um die längste Teilfolge von zwei Strings zu finden, aber ich verstehe nicht "#line A", warum der dritte Parameter key = len ist. Von dem, was ich gelernt habe, ist len eine Funktion, die die Länge einer Zeichenkette zurückgibt, aber ich verstehe nicht, wie sie hier benutzt wird.Python-Syntax, die ich nicht zu verstehen scheint
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
Es ist ein benannter Parameter der 'max' -Funktion: https://docs.python.org/2/library/functions.html#max. Im Grunde wird das Ergebnis der 2 rekursiven Aufrufe von "lcs" an "len" übergeben und dann verglichen. Dies liefert grundsätzlich das längste Ergebnis. – Carcigenicate
Bitte lesen Sie einige Dokumente, bevor Sie eine Frage in der Zukunft stellen. – TigerhawkT3