Распутать словарь внутри списка - PullRequest
0 голосов
/ 16 октября 2018

Мне нужна помощь в выяснении этого сложного списка.Я пытаюсь напечатать только var_names.

Я создал список из коллекции mongo, чтобы позже я мог использовать его в качестве объекта jSON.

Формат списка:

[{
'tags': 
    {'variables': 
        [{'value': '3x5', 'var_name': 's'},
         {'value': '12:00AM', 'var_name': 'x'},
         {'value': 'abc', 'var_name': 'y'}]
    }
}]

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

s
x
y

Пожалуйста, помогите.Я продолжаю получать ошибки, независимо от того, какие комбинации я пытаюсь получить значение

1 Ответ

0 голосов
/ 16 октября 2018

Поскольку сама коллекция mongo и содержимое ключа variables являются обоими списками, я предлагаю выполнить их итерацию, если только у вас нет особых причин обращаться к ним по их индексу напрямую.

Например:

mongo_result = [{
    'tags': {
        'variables': [{
            'value': '3x5',
            'var_name': 's'
        }, {
            'value': '12:00AM',
            'var_name': 'x'
        }, {
            'value': 'abc',
            'var_name': 'y'
        }]
    }
}]

for obj in mongo_result:
    for var in obj['tags']['variables']:
        print(var['var_name'])

# s
# x
# y
...