我最近开始学习python,并且尝试将单词列表分类为:正数“ pos”和负数“ neg”
我正在寻找的结果是:
('joli': 'pos', 'bravo': 'pos', 'magnifique': 'pos')
('arnaque': 'neg', 'désagréable': 'neg', 'mauvais': 'neg')
我有以下代码:
def word_feats(words):
return dict([(word, True) for word in words])
vocab_positif = [ 'joli', 'bravo', 'magnifique']
vocab_negatif = [ 'arnaque', 'désagréable','mauvais']
positive_features = [(word_feats(vocab_positif), 'pos')]
negative_features = [(word_feats(vocab_negatif), 'neg')]
输出:
({'joli': True, 'bravo': True, 'magnifique': True}, 'pos')
({'arnaque': True, 'désagréable': True, 'mauvais': True}, 'neg')
答案 0 :(得分:0)
如果给出更多上下文,则可以用更好的方式编写,但我认为此解决方案与您期望的输出匹配。
def word_feats(words, val):
return {word: val for word in words}
vocab_positif = [ 'joli', 'bravo', 'magnifique']
vocab_negatif = [ 'arnaque', 'désagréable','mauvais']
features = {}
positive_features = word_feats(vocab_positif, 'pos')
negative_features = word_feats(vocab_negatif, 'neg')
print(positive_features)
print(negative_features))
输出:
{'joli': 'pos', 'bravo': 'pos', 'magnifique': 'pos'}
{'arnaque': 'neg', 'désagréable': 'neg', 'mauvais': 'neg'}
如果需要,可以合并dict
,例如:
combined = {**positive_features, **negative_features}
或类似的东西
features = {}
features.update(word_feats(vocab_positif, 'pos'))
features.update(word_feats(vocab_negatif, 'neg'))
print(features)
答案 1 :(得分:0)
这应该为您提供所需的输出:
def word_feats(words, desc):
return dict([(word, desc) for word in words])
vocab_positif = [ 'joli', 'bravo', 'magnifique']
vocab_negatif = [ 'arnaque', 'désagréable','mauvais']
positive_features = word_feats(vocab_positif, 'pos')
negative_features = word_feats(vocab_negatif, 'neg')