Counter() 减去
Counter() subtract
我有两个列表,我想从 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)
我希望得到结果,但代码 return:
None
有什么问题?
将对应的行替换为
即可
positivity = count_pos - count_neg
正如对问题的评论所指出的,subtract
方法适用于其对象,returns None。要获得您想要的行为,您可以像这样使用 -
运算符:
positivity = count_pos - count_neg
或者您可以先复制您的 count_pos
计数器并使用其减法:
positivity = Counter(count_pos)
positivity.subtract(count_neg)
在这两种情况下,您最终都会得到一个变量 positivity
,其中包含 count_pos 和 count_neg
之间的差异
我有两个列表,我想从 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)
我希望得到结果,但代码 return:
None
有什么问题?
将对应的行替换为
即可positivity = count_pos - count_neg
正如对问题的评论所指出的,subtract
方法适用于其对象,returns None。要获得您想要的行为,您可以像这样使用 -
运算符:
positivity = count_pos - count_neg
或者您可以先复制您的 count_pos
计数器并使用其减法:
positivity = Counter(count_pos)
positivity.subtract(count_neg)
在这两种情况下,您最终都会得到一个变量 positivity
,其中包含 count_pos 和 count_neg