Получить фрагмент списка Python на основе индексов: список списков диктов - PullRequest
0 голосов
/ 05 марта 2020

У меня есть структура, как показано ниже:

[[{'w': [0.5372377247650572, 1.9111341091016385, -3.2165806256024116, -1.7154987465370053, 1.0917999534858416], 'o': 0.0004326739879156587, 'd': 3.586499431857422e-05}],[{'w': [7.298542669399767, -3.9021024252822105], 'o': 0.019860841402923542, 'd': 0.00105997759946847}, {'w': [-2.8024625186056764, -0.34819658506990847], 'o': 0.4135257109795849, 'd': -0.0016469874583619935}, {'w': [-6.018257518762189, 0.3317488378886934], 'o': 0.5815513019444986, 'd': -1.1787471334339458e-05}]]

Это список списков диктов, и эти диктовки содержат ключи 'w', 'o', 'd'. Я хочу создать фрагмент этой структуры так, чтобы у меня оставались только значения 'd':

3.586499431857422e-05, 0.00105997759946847, -0.0016469874583619935, -1.1787471334339458e-05

Как это можно сделать?

Ответы [ 2 ]

3 голосов
/ 05 марта 2020
structure = [[{'w': [0.5372377247650572, 1.9111341091016385, -3.2165806256024116, -1.7154987465370053, 1.0917999534858416], 'o': 0.0004326739879156587, 'd': 3.586499431857422e-05}],[{'w': [7.298542669399767, -3.9021024252822105], 'o': 0.019860841402923542, 'd': 0.00105997759946847}, {'w': [-2.8024625186056764, -0.34819658506990847], 'o': 0.4135257109795849, 'd': -0.0016469874583619935}, {'w': [-6.018257518762189, 0.3317488378886934], 'o': 0.5815513019444986, 'd': -1.1787471334339458e-05}]]
d_values = [ x['d'] for row in structure for x in row ]
0 голосов
/ 05 марта 2020

Без понимания списка:

    res=[]
    for list_dicts in original_matrix:
        for current_dict in list_dicts:
            res.append(current_dict['d'])
    print(res)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...