Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将字典解包到模型中_Python_Python 2.7_Flask - Fatal编程技术网

Python 将字典解包到模型中

Python 将字典解包到模型中,python,python-2.7,flask,Python,Python 2.7,Flask,使用**解包时,我需要与构造函数具有完全相同的参数 我的意思是,如果我在字典中有一个额外的项目,应该被忽略,我需要弹出该项目?目前,我正在尝试解包所有内容,我希望该项目将立即被排除,但我遇到以下错误: __init__() got an unexpected keyword argument 您只需让\uuuu init\uuuu接受所有关键字参数即可: def __init__(self, sentiment=None, topic=None, **kw): 这将导致在kw

使用
**
解包时,我需要与构造函数具有完全相同的参数

我的意思是,如果我在字典中有一个额外的项目,应该被忽略,我需要弹出该项目?目前,我正在尝试解包所有内容,我希望该项目将立即被排除,但我遇到以下错误:

  __init__() got an unexpected keyword argument



您只需让
\uuuu init\uuuu
接受所有关键字参数即可:

    def __init__(self, sentiment=None, topic=None, **kw):
这将导致在
kw
中收集剩余参数,该方法可以忽略这些参数。但是,这附带了一个警告,即您可能需要使用其他代码来构造此对象,而这些代码可能需要失败


或者,只需过滤掉另一个答案中提到的参数。

您可以使用相关键构造一个新的dict,并使用该dict:

keys = {'sentiment', 'topic'}
kwargs = {k:v for k,v in negative_items.iteritems() if k in keys}
negative = NegativeSentimentAnalysis(**kwargs)

这是可行的,但有点粗糙。调用者应该负责提供正确的论点。@augurar说得好,不过这更多地回答了OP的这部分问题:如果字典中有一个应该忽略的附加项,我需要弹出该项吗?不,但是这种方式很难理解,我会注意到这一点。如果您不确定您的dict将是什么,那么我建议您首先不要进行自动解包。@user2990084除了问题本身,我只是对您进行
负面情绪分析的方法有点好奇。你能给我一些线索吗?Thanks@yan9yu,您有多个API来处理情绪分析。我只是保存输出。
    def __init__(self, sentiment=None, topic=None, **kw):
keys = {'sentiment', 'topic'}
kwargs = {k:v for k,v in negative_items.iteritems() if k in keys}
negative = NegativeSentimentAnalysis(**kwargs)