python中的json排序
我有一个将要转换为Json的位置列表。。在将这些位置转换为Json列表后,我需要按距离对其进行排序 我遍历列表,将每个位置添加到一个数组中,如下所示python中的json排序,python,json,Python,Json,我有一个将要转换为Json的位置列表。。在将这些位置转换为Json列表后,我需要按距离对其进行排序 我遍历列表,将每个位置添加到一个数组中,如下所示 locations = [] for location in data: filtered_string = {'distance': location['distance']} locations.append(filtered_string) 然后我试着像这样对它们进行分类: sorted(loca
locations = []
for location in data:
filtered_string = {'distance': location['distance']}
locations.append(filtered_string)
然后我试着像这样对它们进行分类:
sorted(locations,key=extract_distance, reverse=True)
def extract_distance(json):
try:
return int(json['distance'])
except KeyError:
return 0
试一试
如果您希望原始数据保持完整,而不是仅分隔距离,并假设数据也有键距离(在使用位置['distance']时,似乎就是这种情况)
这看起来很合理——你哪里有问题?(除了我在任何地方都看不到任何实际的JSON)那么您需要在转换为JSON之后或之前按距离对它们进行排序吗?真正的问题是什么?似乎没有。是否将
排序(…)
的结果保存到变量中sorted()
返回一个新列表,而返回一个列表。sort()
就地排序。
sorted(locations, key=lambda k: k['distance'], reverse=True)
sorted(data, key=lambda k: k['distance'], reverse=True)