“NoneType”对象不可下标 - 我该如何解决此错误

时间:2021-05-19 09:42:23

标签: python python-3.x

我的代码:

models = [dtree,bagging,bagging_wt,rf,rf_wt,dtree_estimator,bagging_estimator,rf_estimator]

acc_train = []
acc_test = []
recall_train = []
recall_test = []
precision_train = []
precision_test = []


for model in models:
    
    j = get_accuracy_score(model,False)
    acc_train.append(j[0])
    acc_test.append(j[1])
       
    k = get_recall_score(model,False)
    recall_train.append(k[0])
    recall_test.append(k[1])
   
    l = get_precision_score(model,False)
    precision_train.append(l[0])
    precision_test.append(l[1])

错误:

TypeError                                 Traceback (most recent call last)
<ipython-input-215-b1cbc190be6f> in <module>
     12 
     13     j = get_accuracy_score(model,False)
---> 14     acc_train.append(j[0])
     15     acc_test.append(j[1])
     16 

TypeError: NoneType' object is not subscriptable

1 个答案:

答案 0 :(得分:0)

您需要熟悉 Python 回溯的工作原理。
您需要的所有信息都在异常本身中。

它告诉您该对象在第 14 行和第 15 行中不可下标。您正试图访问不允许它或没有它的对象中的索引(在本例中为 None)。< /p>

正如@edusanketdk 所说,您的函数 get_accuracy_score 在这里有问题,因为它返回 None 而不是容器对象。