Как выполнить итерацию для создания переменных в списке - PullRequest
0 голосов
/ 06 апреля 2020

Предположим, у меня есть следующий код:

classifiers_name_all = [('AdaBoostClassifier', AdaBoostClassifier(), 'AdaBoost'),
                        ('BernoulliNB', BernoulliNB(), 'Bernoulli Naive Bayes'),
                        ('DummyClassifier', DummyClassifier(), 'Dummy Classifier')]

clf_values = []
for clf_na in classifiers_name_all:
    clf_values.append((locals()['score_'+clf_na[0]+'_mean'], locals()['score_'+clf_na[0]+'_stddev']))
clf_values

Код выше не совсем работает.

Я хочу получить список, который содержит переменные:

clf_values = [(score_AdaBoostClassifier_mean, score_AdaBoostClassifier_stddev),
              (score_BernoulliNB_mean, score_BernoulliNB_stddev)        
              (score_DummyClassifier_mean, score_DummyClassifier_stddev)]

Как мне это сделать? Большое спасибо.

1 Ответ

1 голос
/ 06 апреля 2020

Из любой информации, которую вы предоставили, я делаю вывод, что нет ключевых ошибок, и результирующий список представляет собой список, содержащий nones.

Это может означать только то, что ваш код работает нормально, но переменные u пытаются получить доступ к значениям None. Проверьте, почему ваши значения имеют значения None, и после исправления этот список получит нужные значения.

...