Извлечь новый словарь из списка словарей - PullRequest
0 голосов
/ 09 января 2020

У меня есть список словарей, я хотел бы создать новый словарь, в котором первый ключ 'value' соответствует второму значению ключа 'b' каждого словаря в списке. Второй ключ 'number' нового словаря соответствует третьему (поэтому последнему) значению ключа 'b' каждого словаря в списке.

my_list = [
    {
        'a': (2.6, 0.08, 47.0, 1),
        'b': (5.7, 0.05, 1)
    },
    {
        'a': (2.6, 0.08, 47.0, 2),
        'b': (5.7, 0.06, 2)
    }
]

ожидаемый результат:

new_dic = {'value': (0.05, 0.06), number = (1, 2)}

1 Ответ

2 голосов
/ 09 января 2020

вы можете использовать понимание следующим образом:

new_dict = {}
new_dict['value'] = tuple(val['b'][1] for val in my_list)
new_dict['number'] = tuple(val['b'][2] for val in my_list)

Обратите внимание, что вам нужно вызвать конструктор кортежей, потому что только (val['b'][2] for val in my_list) возвращает объект генератора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...