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它在result哪里F?如果有人可以向我展示实现所需输出的方法,那将会很有帮助。

4

2 回答 2

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
于 2013-10-28T07:13:27.537 回答
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']
于 2013-10-28T07:15:15.833 回答