繁体   English   中英

当值是另一个dict时从dict获取密钥

[英]Get key from dict when value is another dict

我有一系列字典,这些字典将动态生成HTML表单。

form_elements = [
{
    'input_type': 'radio',
    'options':
    {
        'bad': 'Bad',
        'good': 'Good'
    },
    'caption': 'How are you feeling?'
},
{
    'input_type': 'input_text',
    'caption': 'What is your name?'
}]

当我遍历该列表并尝试获取单选按钮的选项时,出现键错误,可能是因为该值是另一个字典。

for elm in form_elements:
    print elm['options']

奇怪的是,这返回true:

'options' in elm.keys()

如何获得嵌套字典?

当您遍历form_elements ,您遍历了包含两个字典的列表。 这些词典中的一个(列表中的第一个)以字符串“ options”作为键,而另一个则没有。 因此,它在第一个循环上成功,但在第二个循环上失败。 如果您在堆栈跟踪上方看,应该会看到成功的打印语句。

将字典作为字典的值不是问题。

尝试这个:

for elm in form_elements:
    if 'options' in elm.keys():
        print elm['options']

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM