在for循环结束后,想要return一个值,但是报错了,说我’return’ outside function,但是我的return明明和for在同一格,为什么会报错呢?
for key in label_dict:
prob = float(label_dict[key])/data_length #打球:4/5=0.8 不打球:1/5=0.2 循环目标值的在总数占比
entropy -= prob*np.log2(prob) #熵的计算公式 循环他的目标值的在总数占比
return entropy #最终结果的计算为0.7219280948873623
后来发现,return是要放在一个函数里的,如下所示:
def ent(entropy):
for key in label_dict:
prob = float(label_dict[key])/data_length #打球:4/5=0.8 不打球:1/5=0.2 循环目标值的在总数占比
entropy -= prob*np.log2(prob) #熵的计算公式 循环他的目标值的在总数占比
return entropy #最终结果的计算为0.7219280948873623
这样就不报错了。
总结:return要放在def函数里!!