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

2024-10-01 02:23:41 发布

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

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

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

我试图将这些单词分开,并分别为每个单词指定相应的值(在右边给出)

例如,将“解决方案设计团队”=0.5027793039863974转换为

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

Tags: 列表关键字团队单词teamskillspotentialcommunication
2条回答

听写理解,听写更新可以帮助你在下面的方式

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'])

如何使用双平面理解重新创建一个元组列表,其中包含分隔的单词:

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

相关问题 更多 >