按特定值对python中的JSON进行排序
您好我试图通过python中的“data_two”字段对以下JSON进行排序:
我尝试过使用类似的东西
然而,我没有太多运气/不断混淆.我的最终目标是通过“data_two”值对所有json条目进行排序,其中JSON中每个条目的键是一个随机的IP字符串.我是JSON世界的新手,请原谅我,如果这是一个简单的问题,任何帮助将不胜感激. 谢谢 最佳答案
如果您可以控制数据的聚合方式,it’s better to have a list of dicts,并且IP将是数据dict {…,’ip’:’127.0.0.1′}内的值,而不是容器父dict中的键
转换为保留元素顺序的容器 您只能对维护元素顺序的结构进行排序,例如列表,例如有dict实现维护OrderedDict之类的顺序,例如 您可以随时转换为那些(如果慢/大数据可能不是您的首选) 转换为列表[(键,值),…]或列表[value,…] 一种可能的方法是检索dict中的所有值,然后返回这些值的列表,按您选择的字段排序 您还可以对ips_data.items()返回的(键,值)进行排序,但这将创建一个新列表.关键是IP,价值是IP数据
上面的列表以[(key1,value1),(key2,value2),…]的形式出现 您还可以获取值并删除键
此列表的形式为[value1,value2,…] 请注意,您可能认为您只能按值而不是(键.值)进行排序,但您的数据中包含IP密钥,您可能希望保留该值. 转换为OrderedDict 如果您绝对希望将结构保留为dict,则可以使用OrderedDict
有序的dict行为就像一个dict,但是key和items迭代将保持元素的顺序. 或者,保留已排序的键列表,并按此顺序处理 或者,您可以将该字典的键排序到列表中,然后您可以按顺序处理该字典.优点是您不必复制/转换数据
现在,您可以按字段data_two对键进行排序
排序后的密钥,您可以按照排序的密钥顺序执行您想要的dict,例如,按此顺序处理它可能比将dict复制到像列表这样的新结构更有效
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- python(PIL)图像处理(等比例压缩、裁剪压缩) 缩略(水印)图
- python – Django双向ManyToMany – 如何防止在第二个模型上
- python – reportlab图像到PDF:“请致电tobytes()”
- 在python中返回1而不是true
- python – 用pycurl获取很多页面?
- 使用Python的Twisted框架编写简单的网络客户端
- python – 如何为数组指定psycopg2参数为时间戳(datetimes)
- JavaScript 精粹读书笔记(1,2)
- python – 在拆分器中设置pyqt小部件的初始宽度
- python – pygame – 如何从get_pos中分割X和Y坐标