python - 在字典中找到一个不存在的词来给它一个值
问题描述
下午好,这是一个奇怪的问题,所以我会尽力解释它。
我有 2 个输入,一个列表中的几条推文['tweet 1', 'tweet 2',...]
和一个带有{'word1': value1;'word 2': value2;...}
.
想象一下第一条推文是这样的:
“我喜欢吃土豆”
从字典中的 500 个单词中,有一个值为
{...;'爱':3;...;'土豆':-1;...}。
这本字典里没有“我”、“吃”这两个词。因此,对于我拥有的每条推文,我需要搜索其中不包含哪些单词,从而为它们提供推文的价值分数。
示例:我喜欢吃土豆 = 2
所以
我= 2
吃=2
我从这个开始:
tweet=[]
values={}
for list in tweet:
divided_tweet=list.split()
为了得到分数,我用这个
[sum(valores.get(j, 0) for j in i.split()) for i in divided_tweet]
总而言之,我需要搜索每条推文,每一个不在字典中的单词来给它一个值。
打印出来的应该是:
'I':2
'eating':2
(下一条推文)
'Inexistent word #3':'score of tweet #2'
'Inexistent word #4':'score of tweet #2'
'Inexistent word #5':'score of tweet #2'
...
等等
有人能帮我吗?
谢谢
PD:有负值和正值
解决方案
你提到
因此,对于我拥有的每条推文,我需要搜索其中不包含哪些单词,从而为它们提供推文的价值分数。
我假设您有一个包含价值分数的每条推文的字典。示例 - 下面代码中的 tweet_values_dc。如果不是这种情况,请告诉我推文在哪里以及如何被赋予价值分数。
tweets_ls = ['I love eating potatoes', 'I love eating mangoes']
tweet_values_dc = {'I love eating potatoes': 2, 'I love eating mangoes': 3}
missing_words_values_dc = {'love':3,'potatoes':-1}
for atweet in tweets_ls:
tweet_splited = atweet.split()
for aword in tweet_splited:
if aword not in missing_words_values_dc.keys():
aTweetValue = tweet_values_dc.get(atweet)
missing_words_values_dc.update({aword:aTweetValue})
print(missing_words_values_dc)
输出
{'love': 3, 'potatoes': -1, 'I': 2, 'eating': 2, 'mangoes': 3}
推荐阅读
- pandas - 前 x 值的平均值
- asp.net - 在 Chrome 中的 ASP.NET 中提供本地文件
- amazon-web-services - AWS App Stream 2.0 错误 - 此磁盘上没有足够的空间来为 FileMaker Pro 完成此操作
- javascript - Router、Rout 和 Switch 在我的 React 网站中不起作用?
- mysql - Mysql - 如何限制表上每秒的事务数
- html - Bootstrap 4嵌套的行和列,在移动视图的右侧添加空格
- javascript - React Render Array of object in parent-child relationship with checkbox
- javascript - 我正在尝试制作 !update 命令,该命令会发送您在 !update/!u 之后所说的所有内容
- python - 如何添加对“整洁”数据和熊猫的观察?
- angular - SyntaxError: Unexpected token 'export' - Angular SSR build