functools.partial引发TypeError“为关键字参数获取了多个值”Python

时间:2017-11-09 12:39:08

标签: python-2.7 typeerror partial-classes functools

我尝试有效地迭代许多字符串,并且我想用部分函数插入重复的部分字符串

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

我最终想要在许多不同的字符串上使用apply函数并使用固定的 list_variable ,但我在my_function中出错:

  

TypeError:my_function()为关键字参数'seqs_outer'

获取了多个值

我想我在使用partial时做错了 - 如何让上面的代码工作?

1 个答案:

答案 0 :(得分:1)

好的,受到this thread的启发,我在

中交换了参数的顺序

def add_seqs(seqs_outer,sequence)

def add_seqs(sequence,seqs_outer)

这完成了工作