我正在尝试使用名为ratio_dict的字典从文档列表创建updated_document列表,该字典存储文档中存在的所有单词的计数以及一些计数为0的其他单词。
我想存储ratio_dict中存储的值大于2的所有单词。我正在运行下面的代码,但它给了我 KeyError 所有计数为0的单词。我想忽略所有那些存储在ratio_dict中的值为0的单词。我怎么能给出跳过条件在那个清单里面?
updated_document = [[b for b in i if ratio_dict[b] >= 2.0] for i in documents]
例如:
document = [['b','m','n'],['b'],['g'],['o','b','g'],['b','g']]
ratio_dict = {'a':0, 'b':4,'c':0,'g':3,'m':1,'n':1,'o':1}
Expected updated_document = [['b','m'],['b'],['g'],['b','g'],['b','g']]
答案 0 :(得分:3)
放手一搏。
updated_document = [[b for b in i if ratio_dict.get(b, 0) >= 2.0] for i in documents]
ratio_dict.get(b, 0)
用于从b
中选择ratio_dict
,如果b
不是ratio_dict
中的关键字,则会返回0
}}
您也可以查看collections.Counter
。