0
所以我在看這個Python代碼來找到兩個字符串中最長的子序列,但我不明白「#line A」爲什麼第三個參數是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