big_set=[]
for i in results_histogram_total:
big_set.append(100*(i/sum_total))
big_set返回[0,0,0,0,0,0,0,0........,0]
这是错误的,因为我选中了i
并且它是>0
我做错了什么?
答案 0 :(得分:5)
在Python 2.x中,使用from __future__ import division
来获得理智的分裂行为。
答案 1 :(得分:3)
尝试此list comprehension而不是
big_set = [100*i/sum_total for i in results_histogram_total]
请注意/
在Python2中截断,因此您可能希望使用
big_set = [100.0*i/sum_total for i in results_histogram_total]
答案 2 :(得分:2)
如果sum_total是一个整数(sum_total .__ class__等于?), python似乎使用整数除法。
尝试i / float(sum_total)。
答案 3 :(得分:2)
可能与浮动分工有关。
我可能小于sum_total,整数除法返回0.
100 * 0为0.
尝试将其投射到浮动。