在 Python 中附加解压缩列表时出错

Getting an error in while appending an unpacked list in Python

我试图构建一个函数,returns可以使用字符串列表形成目标字符串的所有方式

例如,对于 allConstruct('aa', ['a','aa','aaa']),我得到 [['a', 'a'], ['aa']] 作为输出。 但是当我通过 allConstruct('aaa', ['a','aa','aaa']) 时,出现以下错误:

"result.append(*targetWays)

TypeError: append() 只接受一个参数(给定 2 个)"

def allConstruct(target, words, memo={}):
    if target == '':
        return [[]]
    
    result =[]
    for word in words:
        if target.find(word)==0:
            suffix = target[len(word):]
            suffixWays = allConstruct(suffix, words)
            targetWays = list(map(lambda way: [word, *way],suffixWays))
            result.append(*targetWays)
            
    return result

尝试result.extend(targetWays)。这会将列表中的所有元素添加到结果中。

或者,如果您想添加列表本身,只需像这样删除 *result.append(targetWays).