Как добавить только значения из другого списка в словарь - PullRequest
0 голосов
/ 18 января 2020

Я хотел бы добавить значения из mean_test_score в существующий словарь. Существующий словарь выглядит так:

data= [{'C': 0.1, 'gamma': 1, 'kernel': 'linear'},
       {'C': 0.1, 'gamma': 1, 'kernel': 'rbf',},
       {'C': 0.1, 'gamma': 0.1, 'kernel': 'linear'},
       {'C': 0.1, 'gamma': 0.1, 'kernel': 'rbf'},
       {'C': 0.1, 'gamma': 0.001, 'kernel': 'linear'},
       {'C': 0.1, 'gamma': 0.001, 'kernel': 'rbf'},
       {'C': 0.1, 'gamma': 0.0001, 'kernel': 'linear'},
       {'C': 0.1, 'gamma': 0.0001, 'kernel': 'rbf'}]

Мой ключ постоянен. Это строка с именем mean_test_score . Моя mean_test_score выглядит следующим образом:

mean_test_score= {0.92173913, 0.60434783, 0.92173913, 0.60496894, 0.92173913,
       0.71863354, 0.92173913, 0.70993789, 0.92732919, 0.67298137,
       0.92732919, 0.72515528, 0.92732919, 0.78074534, 0.92732919,
       0.73664596, 0.92484472, 0.68478261, 0.92484472, 0.73726708,
       0.92484472, 0.85776398, 0.92484472, 0.83975155, 0.91273292,
       0.68478261, 0.91273292, 0.73571429, 0.91273292, 0.87670807,
       0.91273292, 0.88167702, 0.91024845, 0.68478261, 0.91024845,
       0.73540373, 0.91024845, 0.88074534, 0.91024845, 0.89161491}

Итак, после ядра в словаре data Я хотел бы добавить key = 'mean_test_score' и значение, которое должно проходить через m ean_test_score и будет добавлено. Я попробовал несколько решений, но они не сработали.

Требуемый вывод

data= [{'C': 0.1, 'gamma': 1, 'kernel': 'linear','mean_test_score': 0.92173913 },
       {'C': 0.1, 'gamma': 1, 'kernel': 'rbf','mean_test_score': 0.60434783},
       {'C': 0.1, 'gamma': 0.1, 'kernel': 'linear', 'mean_test_score': 0.92173913},
       and so on ]

Ответы [ 2 ]

2 голосов
/ 18 января 2020
for d, m in zip(data, mean_test_score):
    d['mean_test_score'] = m
1 голос
/ 18 января 2020

Предполагая, что mean_test_score - это список, а не словарь, как указано в вашем вопросе.

Не уверен, что это то, что вы ищете:

mean_test_score = list(mean_test_score)
count = 0
for i in data:
    i['mean_test_score'] = mean_test_score[count]
    count += 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...