我有两个列表,我想从neg中减去列表pos中元素的频率。所以:
neg = [x for x in all[:800000]]
pos = [x for x in all[800000:]]
count_pos = Counter(pos)
count_neg = Counter(neg)
positivity = count_pos.subtract(count_neg)
print(positivity)
我希望得到结果,但代码会返回:
None
有什么问题?
答案 0 :(得分:1)
只需用
替换相应的行positivity = count_pos - count_neg
答案 1 :(得分:1)
正如对该问题的评论所指出的那样,subtract
方法适用于其对象并返回None。要获得所需的行为,您可以使用-
运算符,如下所示:
positivity = count_pos - count_neg
或者您可以先复制count_pos
计数器并使用其减法方法:
positivity = Counter(count_pos)
positivity.subtract(count_neg)
在这两种情况下,您最终都会得到一个变量positivity
,其中包含count_pos和count_neg之间的差异