2013-09-21 215 views
1

我有一個字典數組,它將動態生成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() 

我如何才能訪問到嵌套詞典?

回答

1

當您迭代form_elements時,您正在遍歷包含兩個字典的列表。其中一個字典(列表中的第一個字符串)具有字符串「選項」作爲關鍵字,但另一個沒有。所以它在第一個循環中成功,但在第二個循環中失敗。如果您正好看到堆棧跟蹤上方,則應該看到成功的打印語句。

將字典作爲字典的值不是問題。

1

試試這個:

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

謝謝,這是我落得這樣做,下面的其他人的建議後,所以我獎勵分給他,但您的建議表示感謝。 –

相關問題