Python:functools.partial退货

2024-09-28 05:18:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我在使用functools.partial时遇到问题。在

我的代码:

selected_words = ['awesome', 'great', 'fantastic', 'amazing', 'love', 'horrible', 'bad', 'terrible', 'awful', 'wow', 'hate']

def awsome_count(x,i):
    if selected_words[i] in x:
        y=1
    else:
        y=0
    return y

partialfun=functools.partial(awsome_count,0)

partialfun(products[2]['word_count'])

products是一个SFrame。在

错误:

^{pr2}$

我使用partial函数,是因为我想使用apply函数:

products['word_count'].apply(functools.partial(awsome_count,0)

Tags: 函数代码countpartialwordawesomeproductsapply
1条回答
网友
1楼 · 发布于 2024-09-28 05:18:59

您给了partial()对象一个位置参数:

functools.partial(awsome_count, 0)

首先应用该参数并将其他位置参数添加到该参数中,因此您的调用:

^{pr2}$

变成:

^{3}$

这是函数的错误顺序。在

如果要为函数的i参数应用默认值,请使用关键字参数而不是位置参数:

partialfun = functools.partial(awsome_count, i=0)

现在调用partialfun(products[2]['word_count'])变成

awsome_count(products[2]['word_count'], i=0)

相关问题 更多 >

    热门问题