如何在Python中访问指定嵌套字典里的subject_id值
在Python中访问字典里的subject_id值
嘿,这个问题很常见,咱们一步步拆解这个字典的层级结构,就能轻松拿到subject_id的值啦!
先看一下你的字典结构:
recognized_faces={'images': [{'candidates':[{'confidence': 0.93778, 'enrollment_timestamp':'1515258270583', 'face_id': '5a51019de4f0a8539156', 'subject_id': 'abc'}], 'transaction': {'confidence': 0.93778, 'eyeDistance': 157, 'face_id': 1, 'gallery_name': 'a-gallery', 'height': 370, 'quality': 1.39258, 'status': 'success', 'subject_id': 'abc', 'topLeftX': 277, 'topLeftY': 284, 'width': 370}}]}
里面有两个地方存了subject_id:一个在transaction字典里,另一个在candidates列表的第一个元素中,咱们分别来取:
1. 获取transaction中的subject_id
按照层级一步步索引:
- 先取外层字典的
images键,它对应一个列表,取列表的第一个元素(索引0) - 再从这个元素中取
transaction键,它是一个字典 - 最后取
subject_id键即可
代码示例:
recognized_faces = {'images': [{'candidates':[{'confidence': 0.93778, 'enrollment_timestamp':'1515258270583', 'face_id': '5a51019de4f0a8539156', 'subject_id': 'abc'}], 'transaction': {'confidence': 0.93778, 'eyeDistance': 157, 'face_id': 1, 'gallery_name': 'a-gallery', 'height': 370, 'quality': 1.39258, 'status': 'success', 'subject_id': 'abc', 'topLeftX': 277, 'topLeftY': 284, 'width': 370}}]} transaction_subject_id = recognized_faces['images'][0]['transaction']['subject_id'] print(transaction_subject_id) # 输出结果:abc
2. 获取candidates列表中第一个元素的subject_id
candidates是一个列表,所以要先取列表的第一个元素,再从中取subject_id:
代码示例:
candidates_subject_id = recognized_faces['images'][0]['candidates'][0]['subject_id'] print(candidates_subject_id) # 输出结果:abc
拓展:如果有多个元素怎么办?
如果images或者candidates列表里有多个元素,你可以用循环遍历所有的subject_id:
# 遍历所有images for image_item in recognized_faces['images']: # 打印当前image的transaction中的subject_id print("Transaction subject ID:", image_item['transaction']['subject_id']) # 遍历当前image的所有candidates for candidate in image_item['candidates']: print("Candidate subject ID:", candidate['subject_id'])
内容的提问来源于stack exchange,提问作者Mohammed Abbas
相关产品推荐
相关产品推荐

