在 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)
.
我试图构建一个函数,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)
.