python - 当值是另一个字典时从字典获取键

标签 python dictionary

我有一个字典数组,它将动态生成 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”作为键,但另一个则没有。所以它在第一个循环上成功,但在第二个循环上失败。如果您查看堆栈跟踪的正上方,您应该会看到成功的打印语句。

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

关于python - 当值是另一个字典时从字典获取键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18936879/

相关文章:

python - 字典中的总和键

Python:将阈值应用于 numpy 数组

python - Django allauth 电子邮件确认仅发送 html 代码

python - 正则表达式在 Python 3 中查找列表中的字符串

ios - 如何在Swift 3中解析JSON数组

c# - 更新字典值并获取前一个

python - 将 dict 值元组拆分为 python3 中的 df header 和内容

python - 从 datetime.time 对象中减去时间

python - 从 python 中的 gzip 文件中读取 utf-8 字符

python - 在 Pypi 包中包含静态文件