functools.partial 引发 TypeError "got multiple values for keyword argument" Python
functools.partial raising TypeError "got multiple values for keyword argument" Python
我尝试有效地遍历许多字符串,但我想用部分函数插入重复的字符串部分
def add_seqs(seqs_outer,sequence):
return seqs_outer[0]+sequence+seqs_outer[1]
def my_function(string,start,stop,list_variable):
seqs_pre=string[:start]
seqs_post=string[stop:]
seqs_outer=(seqs_pre,seqs_post)
seqs_out=map(functools.partial(add_seqs,seqs_outer=seqs_outer),list_variable)
return seqs_out
我最终想在许多不同的 string 上使用一个应用函数,固定 list_variable,但我明白了my_function 中的错误:
TypeError: my_function() got multiple values for keyword argument 'seqs_outer'
我想我在使用 partial 时做错了 - 我怎样才能使上面的代码工作?
好的,受到 this thread 的启发,我调换了
中参数的顺序
def add_seqs(seqs_outer,sequence)
至
def add_seqs(sequence,seqs_outer)
这完成了工作
我尝试有效地遍历许多字符串,但我想用部分函数插入重复的字符串部分
def add_seqs(seqs_outer,sequence):
return seqs_outer[0]+sequence+seqs_outer[1]
def my_function(string,start,stop,list_variable):
seqs_pre=string[:start]
seqs_post=string[stop:]
seqs_outer=(seqs_pre,seqs_post)
seqs_out=map(functools.partial(add_seqs,seqs_outer=seqs_outer),list_variable)
return seqs_out
我最终想在许多不同的 string 上使用一个应用函数,固定 list_variable,但我明白了my_function 中的错误:
TypeError: my_function() got multiple values for keyword argument 'seqs_outer'
我想我在使用 partial 时做错了 - 我怎样才能使上面的代码工作?
好的,受到 this thread 的启发,我调换了
中参数的顺序def add_seqs(seqs_outer,sequence)
至
def add_seqs(sequence,seqs_outer)
这完成了工作