如何从返回的两个OrderedDict中提取各自的键值对?
提取两个返回的OrderedDict值的方法
其实操作起来和你单独处理单个OrderedDict差不多,只需要先把返回的两个对象分别接收,再分别遍历或者结合起来处理就行,给你几种常用的方式:
1. 分别接收后单独遍历
首先用两个变量接住返回的结果:
# 替换成你实际调用的返回这两个字典的函数 objects, disappeared = your_tracker_function()
然后就可以像你之前处理单个字典那样,分别遍历这两个OrderedDict:
# 处理objects字典,提取ID和质心 for objectID, centroid in objects.items(): print(f"对象ID: {objectID}, 质心坐标: {centroid}") # 这里可以添加你的业务逻辑,比如绘制质心、更新跟踪状态等 # 处理disappeared字典,提取ID和消失计数 for objectID, disappear_count in disappeared.items(): print(f"对象ID: {objectID}, 连续消失次数: {disappear_count}") # 比如判断计数是否超过阈值,来决定是否标记对象为丢失
2. 结合两个字典的key同步处理
从你给出的示例来看,两个字典的objectID是一一对应的,这种情况下还可以通过key同步获取两个字典里的值:
objects, disappeared = your_tracker_function() # 遍历其中一个字典的key,同步获取两个字典的值 for objectID in objects: centroid = objects[objectID] # 用get方法避免出现key不存在的报错,默认值设为0 disappear_count = disappeared.get(objectID, 0) print(f"对象{objectID}: 质心{centroid}, 已消失{disappear_count}次")
这样不管是单独处理还是结合处理,都能轻松提取到两个字典里的所有值啦~
内容的提问来源于stack exchange,提问作者Che Su
相关产品推荐
相关产品推荐

