python列表套json字典怎么根据相同的key筛选数据
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇内容介绍了"python列表套json字典怎么根据相同的key筛选数据"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细
千家信息网最后更新 2026年11月03日python列表套json字典怎么根据相同的key筛选数据
本篇内容介绍了"python列表套json字典怎么根据相同的key筛选数据"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
前言:
工作中遇到以下小问题,解决方法如下,可能比较暴力,暂时留档,再进行优化。
要求:将列表中json的 ‘id’ 字段值相同的数据,根据 type的值,按照一定的优先级次序排列,列表中仅保留优先级最高的type。
测试用例:
list1 示例数据:
type优先级列表:[6, 4, 2, 5, 8, 3, 7, 1] (依次递减,6优先级最高,1优先级最低)
draw_data = [ {'geometry':{"coordinates":[121.87635833333333, 30.86567777777778]},"properties":{'type':'8'}, "id": "03N3211"}, {'geometry':{"coordinates":[121.87635833333333, 30.86567777777778]},"properties":{'type':'5'}, "id": "01N2234"}, {'geometry':{"coordinates":[121.87635833333333, 30.86567777777778]},"properties":{'type':'8'}, "id": "03N3211"}, {'geometry':{"coordinates":[121.8758861111111, 30.866086111111112]},"properties":{'type':'32'}, "id": "01N2234"}, {'geometry':{"coordinates":[121.87635833333333, 30.86567777777778]},"properties":{'type':'8'}, "id": "09N1111"}, {'geometry':{"coordinates":[121.87635833333333, 30.86567777777778]},"properties":{'type':'11'}, "id": "03N3211"}, {'geometry':{"coordinates":[121.87635833333333, 30.86567777777778]},"properties":{'type':'2'}, "id": "09N1111"}, {'geometry':{"coordinates":[121.87705277777778, 30.86705]}, "properties": {'type': '2'}, "id": "01N2234"} ]以上结果应该为:
draw_data = [ {'geometry':{"coordinates":[121.8758861111111, 30.866086111111112]},"properties":{'type':'32'}, "id": "01N2234"}, {'geometry':{"coordinates":[121.87635833333333, 30.86567777777778]},"properties":{'type':'8'}, "id": "09N1111"}, {'geometry':{"coordinates":[121.87635833333333, 30.86567777777778]},"properties":{'type':'11'}, "id": "03N3211"}, ]def removeduplicate(self, list1, priority=None): """ 列表套字典去重复, 筛选相同组串id优先级最高的类型 :param list1: 输入一个有重复值的列表 :priority : 优先级列表 :return: 返回一个去掉重复的列表 """ sort_dict = {'6': 100, '4': 99, '2': 98, '5': 97, '8': 96, '3': 95, '7': 94, '1': 93} # self.types 颜色表按优先级排序 newlist = [] print("list1:", list1) for ind_i, i in enumerate(list1): # 先遍历原始字典 flag = True if newlist == []: # 如果是空的列表就不会有重复,直接往里添加 pass else: for ind_j, j in enumerate(newlist): j_id = j['id'] if j_id == i['id']: # 相同id if sort_dict[j['properties']['type']] <= sort_dict[i['properties']['type']]: newlist[ind_j] = i else: flag=False else: # 不相等,id可能已经出现过 for ind_li, li in enumerate(newlist): if i['id'] == li['id']: if sort_dict[i['properties']['type']] >= sort_dict[li['properties']['type']]: newlist[ind_li] = i else: flag = False if flag: newlist.append(i) return newlist"python列表套json字典怎么根据相同的key筛选数据"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
优先级
相同
字典
数据
最高
内容
更多
知识
原始
实用
最低
学有所成
接下来
前言
困境
字段
实际
情况
文章
方法
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
保险科技 互联网保险
百单网互联网科技有限公司
互联网佳科技有限公司
河南真二互联网科技有限公司
华中科技大学互联网
互联网金融科技平台
郑州华宇互联网科技
互联网高科技股票
新华互联网科技2019
随着互联网科技发展
广州恒生互联网科技有限
互联网还是高科技吗
互联网新科技动漫ppt素材
四川慕妮娅互联网科技有限公司
明优互联网科技有限公司
云南省自由互联网科技有限公司
广州燕处互联网科技有限公司
科技互联网经济论坛
10位科技互联网大佬
互联网科技自媒体灵感
华宇互联网科技
互联网科技小贷
壹账通互联网科技
镁科技互联网资讯平台
互联网科技产品
团飞科技与伯堂互联网服务平台
宁夏众和广鑫互联网科技有限公司
互联网为啥属于高科技
每天都有哪些好的互联网科技
互联网科技职业技能培训学校