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