首页 > 解决方案 > 解开列表内的字典

问题描述

我需要一些帮助来弄清楚这个复杂的列表。我正在尝试仅打印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

请帮忙。无论我尝试什么组合来获得价值,我都会不断收到错误

标签: pythonjsondjangomongodbpymongo

解决方案


由于 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

推荐阅读