2013-10-28 46 views
0

我從字典中獲得以下輸出。基於另一個值從字典中獲得所需值

{'001': {'desc': 'Verify all commands.', 'result': 'P', 'name': '001', 'run_time': '00:00:30', 'start_time': '1382943624', 'end_time': '1382943654'}, 
'002': {'desc': 'Verify all commands.', 'result': 'F', 'name': '002', 'run_time': '00:00:30', 'start_time': '1382943624', 'end_time': '1382943654'}} 

我想要的是得到它name其中resultF? 如果有人能指示我達到預期輸出的方式,這將會很有幫助。

+0

您提供的數據格式不正確。請檢查。 – thefourtheye

+0

我已糾正它,對於混淆抱歉。 – npatel

回答

2

這將列表中的所有names瓦特這裏resultF

data = {'001': {'desc': 'Verify all commands.', 'result': 'P', 'name': '001', 'run_time': '00:00:30', 'start_time': '1382943624', 'end_time': '1382943654'}, 
'002': {'desc': 'Verify all commands.', 'result': 'F', 'name': '002', 'run_time': '00:00:30', 'start_time': '1382943624', 'end_time': '1382943654'}, 
'003': {'desc': 'Verify all commands.', 'result': 'F', 'name': '003', 'run_time': '00:00:30', 'start_time': '1382943624', 'end_time': '1382943654'}} 

print [value["name"] for key, value in data.items() if value["result"] == "F"] 

輸出

['002', '003'] 
+0

有了這個解決方案,我得到'AttributeError:'str'對象沒有屬性'items''錯誤。 – npatel

+0

@npatel數據的格式是什麼?你能否以正確的格式更新問題? – thefourtheye

+0

有一個額外的支架在那裏,對不起,我已經更新了現在的問題。 – npatel

2

遍歷dict.values

for v in my_dict.values(): 
    if v['result'] == 'F': 
     print v['name'] 

演示:

my_dict = {'001': {'desc': 'Verify all commands.', 'result': 'P', 'name': '001','run_time': '00:00:30', 'start_time': '1382943624', 'end_time': '1382943654'}, 
      '002': {'desc': 'Verify all commands.', 'result': 'F', 'name': '002', 'run_time': '00:00:30', 'start_time': '1382943624', 'end_time': '1382943654'}   } 
for v in my_dict.values(): 
    if v['result'] == 'F': 
     print v['name'] 

輸出:

002 
相關問題