如何从字典中分配值?

时间:2018-04-23 15:24:02

标签: python dictionary

tokens_file_input = apply_stopwording(word_tokenize(str(file_input)),3)  

in_both = [] #this is the words that are in both the dictionary keys, and in the file_input dataset
dictionary_keys = lexicon_dictionary.keys()

for token in tokens_file_input:
    if token in dictionary_keys:
        in_both.append(token)

我有一个单词列表,这些单词都在我的文件和词典中。我现在如何将字典中的值分配给这些单词?

谢谢!

这就是字典的样子:

{'able': 0.25,
 'unable': -0.125,
 'dorsal': 0.0,
 'abaxial': 0.0,
 'ventral': 0.0,
 'adaxial': 0.0,
 'acroscopic': 0.0,
 'basiscopic': 0.0,
 'abducting': 0.0,
 'abducent': 0.0,
 'adductive': 0.0,
 'adducting': 0.0,
 'adducent': 0.0,
 'nascent': 0.0,
 'emerging': 0.0,
 'emergent': -0.125,
 'dissilient': 0.25,
 'parturient': 0.0,
 'dying': -0.625,
 'moribund': -0.75,
 'last': 0.0,
 'abridged': 0.0,
  ...
  }

这就是我的输出现在的样子:

['think', 'seem', 'able', 'make', 'correct', 'understand', 'words', 'think', 'appropriate', 'confuse', ... ]

我希望它的输出还包括与该特定单词相关联的值。所以也许是一个新词典,它包含这些值以及词典词典中的键。

我无法真正放置原始文档,因为它有敏感信息......谢谢。

我希望我的输出看起来像:

{'think': 0.32 'seem': .23 'able': 0.25, 'make': .23, 'correct': .12, 'understand': .23, 'words': .12}

2 个答案:

答案 0 :(得分:1)

而不是将in_both声明为列表,将其声明为空字典并添加值。

tokens_file_input = apply_stopwording(word_tokenize(str(file_input)),3)  

in_both = {} #this is the words that are in both the dictionary keys, and in the file_input dataset
dictionary_keys = lexicon_dictionary.keys()

for token in tokens_file_input:
    if token in dictionary_keys:
        in_both[token]=lexicon_dictionary[token]

答案 1 :(得分:0)

您还可以使用理解列表:

in_both = {key:val for key,val in lexicon_dictionary.items() if key in tokens_file_input}