#将search_id 添加到 p_samples.json 中对应sample 的 request_images 列表中
#保存新的p_samples.json import json
import os
import os.path as osp
from builtins import FileNotFoundErrorimport logging
from csv import DictReader
N_PATH = './n-search-result.json'
P_PATH = './p_samples.json'
outfile_path ='./'
#通过解析n-search-result.json,构建一个键为ret_id,值为search_id的字典
# 构建一个关于一个键为search_id,值为ret_id的字典
def ret_id_to_search_id(N_PATH):"""从n_sample中获得search_id名和ret_id的关系"""try:jsonlist = json.load(open(N_PATH, 'r'))  # 读取json文件jsonlist[0]为字典except FileNotFoundError as err:logging.error(err)return Nonedict1 = {}for data in jsonlist:# 先遍历jsonlist列表search_id = data['search_id']# print(id)keydata = data['top_1']dict = keydata[0]  # 去除中括号生成字典ret_id = dict['ret_id']#print(ret_id)# 得到ret_id信息ret_score = int(dict['ret_score'])if ret_score >=94:dict1[ret_id] = search_idreturn dict1def mergelist(dict1):#mergelist 列表"""将search_id 添加到 p_samples.json 中对应sample 的 request_images 列表中 """request_imageslist = []try:jsondata = json.load(open(P_PATH, 'r'))  # 读取json文件jsonlist为列表jsonlist = jsondata['images']except FileNotFoundError as err:logging.error(err)return Nonenew_p_samples = {'images': []}  # 定义新的json文件的格式 字典格式for data in jsonlist: #先遍历request_images列表group_id = data['group_id']ids_list = data['ids']  #ids_list为列表ids =data['ids'][0]print(ids)request_imageslist = data['request_images']search_id = dict1.get(ids)# .get得到字典中的元素if search_id:request_imageslist += [dict1[ids]]#print(request_imageslist)# request_image为列表register_imageslist = data['register_images']mergesample =  {'group_id':  group_id,'ids':       ids_list,'request_images': request_imageslist,'register_images' : register_imageslist}new_p_samples['images'].append(mergesample)#新的mergesample加到new_p_samples里面去with open('new_p_samples.json', 'w') as f:json.dump(new_p_samples, f, indent=4)if __name__ == '__main__':dict1 = ret_id_to_search_id(N_PATH)mergelist(dict1)

使用dict.get()得到字典中的元素/在原来json基础上增加元素相关推荐

  1. 找出一个二维数组中的鞍点,即该位置上的元素在该行最大,在该列最小,也可能没有靶点

    找出一个二维师数组中的鞍点,即该位置上的元素在该行最大,在该列最小,也可能没有靶点 思路: 找出某行最大数,再判断此数是否是所在列最小 代码: #include<stdio.h> int ...

  2. (C语言)找出一个二维数组中的鞍点,即该位置上的元素在该行最大,在该列上最小,也可能没有鞍点。存在则输出坐标;否则输出 -1.

    #include<stdio.h> /* 找出一个二维数组中的鞍点,即该位置上的元素在该行最大, 在该列上最小,也可能没有鞍点.存在则输出坐标:否则输出 -1. */ int main(v ...

  3. 习题 5.7 找出一个二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小(也可能没有鞍点)。

    C++程序设计(第三版) 谭浩强 习题5.7 个人设计 习题 5.7 找出一个二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小(也可能没有鞍点). 代码块: #include <io ...

  4. matlab查找鞍点的位置,找出一个二维数组中的鞍点,即该位置上的元素在该行上最大、在该...

    /* 二维数组中的鞍点,即该位置上的元素在该行上最大.在该列上最小.也可能没有鞍点 二维数组鞍点判断,要逐个要素进行确认,并用二维数组记录满足各要素时的坐标, 之后进行各性质重合对比来确定,也就是说, ...

  5. 一个元素位于另一个元素之上,点击上面的元素引发下面元素事件操作

    一个元素位于另一个元素之上,点击上面的元素引发下面元素事件操作 <body><!-- 此布局为: 上面内容盒子覆盖在了上传文本区域之上--><!-- 想要点击'上面盒子内 ...

  6. python dict items iteritems_python字典中的items和iteritems

    python字典的items方法作用:是可以将字典中的所有项,以列表方式返回.如果对字典项的概念不理解,可以查看Python映射类型字典基础知识一文.因为字典是无序的,所以用items方法返回字典的所 ...

  7. C++找出一个二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小(也可能没有鞍点)

    今日正式用csdn博客记录,回顾我所学到的知识,分享一些我的人生感悟和自身经历.也希望未来通够过此平台和更多喜爱编程的人交流学习. 道听途说再加上自己的感悟,认为编程最重要的是思想,而不是语言本身,语 ...

  8. java 二维数组位置_请完成下列Java程序:查找一个矩阵中的鞍点,对于一个二维数组中的鞍点,该点位置上的元素在该行上...

    请完成程序,首先由一个类simple实现Serializable接口,并有三个成员变量,分别为int型.double型和String型,可以用toString的方法显示这三个成员变量.在main方法中 ...

  9. 找出一个二维数组中的鞍点,既该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点。(C语言程序设计第五版 p166.8)

    一,条件:该行最大(只有一个) 该列最小(只有一个) 二,功能:输入一个任意二维数组,输出鞍点或者输出鞍点不存在 三,思路: 以2*2的数组为例 (1,1) (1,2)   (2,1)   (2,2) ...

最新文章

  1. gridContro使用随记
  2. python程序实例教程基础-编程小案例
  3. java 多项式拟合最多的项数_牛顿插值法、曲线拟合、多项式拟合
  4. Markdown 语法及常用资料收集--CheatSheet
  5. n平方的求和公式_素数求和公式!!!(操作测试)
  6. 轻量易用的微信Sdk发布——Magicodes.Wx.Sdk
  7. Android Studio导入Eclipse项目
  8. 数字安全控制系统行业调研报告 - 市场现状分析与发展前景预测
  9. 知道cve编号怎么搜poc_想在海南买房不知道该怎么选?快来看看这些热搜楼盘吧!...
  10. HDU - 2047
  11. 怎样在php中制作电子相册,电子相册制作 如何制作电子相册带音乐和文字
  12. rbf神经网络和bp神经网络,rbf神经网络百度百科
  13. 有道单词本修改背景颜色
  14. 登录界面软键盘遮挡登入按钮 空间
  15. 如何解决Harbor的502问题
  16. JAVA图片加水印(电子奖状填充名字)
  17. python中等好用什么表示_描写中等的词语
  18. 使用 JsDelivr作为CDN 加速服务
  19. HCL Domino/Notes专业课程和认证体系介绍
  20. 摄像机标定以及镜头畸变

热门文章

  1. 5.Java中的基本数据类型有哪些?
  2. Python之勒让德多项式
  3. mac 使用ffmpeg命令合成MP4和srt字幕
  4. 最近因为突然喜欢这方面的ui设计,所以搜刮了很多我试过可用性强的界面,又可爱又实用···分享给大家咯
  5. 指掌易宣布完成A+轮1.5亿融资
  6. 极限思维导图xmind
  7. Android常用控件之Button与ImageButton
  8. 2021年茶艺师(初级)考试及茶艺师(初级)考试技巧
  9. 【视频课程】新能源汽车驱动与三电系统设计高级技术--系列课程
  10. Python dataframe绘制饼图_运用matplotlib绘制折线图、散点图、饼图、柱形图的定义代码以及案例详解...