python 字典排序
import operator
x = [{ 'id': '259', 'size': '6400','rank':'7'}, { 'id': '260', 'size': '6239','rank':'4'}, { 'id': '261', 'size': '6854','rank':'27'}]
sorted_x = sorted(x, key=operator.itemgetter('rank'))
print sorted_x
我有这样一个字典列表,我想根据rank值大小排序,上面代码可以执行,但不能根据rank值大小排序,把rank值改成整型就可以。。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
x.sort(key=lambda x:int(x['rank']))
字符串比较大小的方式是挨个字符比较的,比如,'100'小于'6'的值就是true
你上面的例子其实已经进行了排序,只是这个排序是按照字符串的比较规则进行的。字符串的比较是27<4<7的。
通过上面进行转化就能按照整形进行比较了。