参数allWords包含两列和数千行。第一列鸣叫。第二个包含情绪(0表示否定,4表示肯定。

如底部代码所示,我创建了两个字典(负数和正数)以将单词及其出现频率存储在字典中。

如果运行代码,则代码如下所示:

这是用于否定字典{'transit':1,'infect':4,4,'spam':6}

这是用于肯定字典{'transit':3,'infect':5,5,'spam':2}

   def vectorRepresentation(allWords):
    negative = {}
    positive = {}

    for (t,s) in allWords:
        if(s=='0'):
            for w in t:
                if w in negative:
                    negative[w]+=1
                else:
                    negative[w]=1
        if(s=='4'):
            for w in t:
                if w in positive:
                    positive[w]+=1
                else:
                    positive[w]=1
     print(negative)
     print(positive)


但是,我想创建一个字典并为同一个键存储两个值。例如

newDictionary = {'transit':[1] [3],'infect':[4] [5],'spam':[6] [2]}

第一个值代表负数。而第二个值是正数。如何实现呢?

最佳答案

因为我认为您想要的结构很奇怪并且没有任何意义,所以我将它们都放在一个列表中:

neg = {'transit': 1, 'infect': 4, 'spam': 6}
pos =  {'transit': 3, 'infect': 5, 'spam': 2}
result = {}
for k,v in neg.items():
    result[k] = [v,pos[k]]
result # {'spam': [6, 2], 'transit': [1, 3], 'infect': [4, 5]}

10-08 20:07