Python 3.4 JSON按键排序为int
我在互联网上搜索了半天,虽然我一直在接近,但总是略有不同。我的目标是获取一个JSON子元素列表,并按该键对它们进行排序。除了键是字符串的数字。示例:Python 3.4 JSON按键排序为int,python,json,sorting,python-3.x,key,Python,Json,Sorting,Python 3.x,Key,我在互联网上搜索了半天,虽然我一直在接近,但总是略有不同。我的目标是获取一个JSON子元素列表,并按该键对它们进行排序。除了键是字符串的数字。示例: print (json_reply['top']['sub']) 让我明白: 所以我试着从互联网上找到的信息中对其进行分类 sorted_reply = (sorted(json_reply['top']['sub'].items())) 让我明白: 不同但相近。现在它似乎不是JSON(它不是很大,因为我仍然可以使用它),但是你可以看到10紧接
print (json_reply['top']['sub'])
让我明白:
所以我试着从互联网上找到的信息中对其进行分类
sorted_reply = (sorted(json_reply['top']['sub'].items()))
让我明白:
不同但相近。现在它似乎不是JSON(它不是很大,因为我仍然可以使用它),但是你可以看到10紧接着一。我猜是因为它认为它是一根弦。我也尝试过JSON排序方法,但结果是一样的,只是JSON格式。我不断发现的主题是人们希望对值进行排序,而不是对键进行排序。我已经尝试过尽可能地改变给定的解决方案,但它们不起作用
那么,我怎样才能把这些键当作整数而不是字符串来排序,这样“10”就在最后了。不管它是否保持JSON格式。给它一个sort
键
,一个应用于每个元素以提供排序值的函数:
sorted(json_reply['top']['sub'].items(), key=lambda i: int(i[0]))
演示:
给它一个sort
键
,这是一个应用于每个元素的函数,用于提供排序所依据的值:
sorted(json_reply['top']['sub'].items(), key=lambda i: int(i[0]))
演示:
你就是那个人!,我向你鞠躬,先生!你就是那个人!,我向你鞠躬,先生!
sorted(json_reply['top']['sub'].items(), key=lambda i: int(i[0]))
>>> d = {'9': 800, '1': 800, '3': 800, '8': 800, '6': 800, '5': 800, '7': 800, '10': 700, '4': 800, '2': 800}
>>> sorted(d.items(), key=lambda i: int(i[0]))
[('1', 800), ('2', 800), ('3', 800), ('4', 800), ('5', 800), ('6', 800), ('7', 800), ('8', 800), ('9', 800), ('10', 700)]