Python:在列表中分隔术语并赋值

Python:在列表中分隔术语并赋值,python,Python,我使用了一个关键字提取器并获得了如下列表- [('solutions design team', 0.5027793039863974), ('communication skills', 0.039048703166463736), ('internal stakeholders', 0.03230578820017667), ('potential customers', 0.020380881551651655), ('utilize', 0.002776174060064261)]

我使用了一个关键字提取器并获得了如下列表-

[('solutions design team', 0.5027793039863974), 
('communication skills', 0.039048703166463736), 
('internal stakeholders', 0.03230578820017667),
('potential customers', 0.020380881551651655), ('utilize', 0.002776174060064261)]
我试图将这些单词分开,并分别为它们分配相应的值(在右边给出)

对于eg-将“解决方案设计团队”=0.5027793039863974纳入

'solutions' = 0.5027793039863974, 
'design' = 0.5027793039863974 ,   
'team' = 0.5027793039863974.

使用双平面理解重新创建包含分隔单词的元组列表怎么样:

inlist = [('solutions design team', 0.5027793039863974),
('communication skills', 0.039048703166463736),
('internal stakeholders', 0.03230578820017667),
('potential customers', 0.020380881551651655), ('utilize', 0.002776174060064261)]

outlist = [(word,value) for words,value in inlist for word in words.split()]
结果:

>>> outlist
[('solutions', 0.5027793039863974),
 ('design', 0.5027793039863974),
 ('team', 0.5027793039863974),
 ('communication', 0.039048703166463736),
 ('skills', 0.039048703166463736),
 ('internal', 0.03230578820017667),
 ('stakeholders', 0.03230578820017667),
 ('potential', 0.020380881551651655),
 ('customers', 0.020380881551651655),
 ('utilize', 0.002776174060064261)]
请注意,如果关键字出现多次,元组列表中将出现重复的关键字。如果要累积它们,可以使用
collections.defaultdict(float)
对象方便地创建包含关键字=>累积值的字典

accumulated = collections.defaultdict(float)
for word,value in outlist:
    accumulated[word] += value

听写理解,听写更新可能在以下方面帮助您

corpus = [('solutions design team', 0.5027793039863974), ('communication skills', 0.039048703166463736), ('internal stakeholders', 0.03230578820017667), ('potential customers', 0.020380881551651655), ('utilize', 0.002776174060064261)]

final_dict = {}
for phase, prob in corpus:
    final_dict.update({word:prob for word in phase.split()}

print(final_dict['solutions'])
print(final_dict['design'])

什么
solutions=
如果
[('solutions design team',0.5027793039863974),('solutions skills',0.039048703166463736)]
你想要的输出是什么?元组列表或字典?@lagon没关系,下一个出现的“解决方案”标签应该是0.039048703166463736value@jpp输出为-'solutions'=0.5027793039863974,'design'=0.5027793039863974,'team'=0.5027793039863974。@SalazarSid,这不是有效的Python对象。在你最喜欢的IDE中输入,它将失败,出现
SyntaxError
。这个输出正是我想要的,谢谢!我计划添加重复关键字的分数,这样它就适合我了。@SalazarSid,这里有两种不同的解决方案。哪一个适合你?你能说清楚吗,这样我们就不会有脱节的问答了
我计划添加重复关键字的分数
对于第一个解决方案来说并不简单。