问题:在使用MongoDB组合函数(它类似于SQL的GROUP BY)来聚合项目的一些结果。此功能虽然非常酷,但它不会对分组数据进行排序。
解决:以下是如何对数据进行排序。(它只有一行python,但很难记住如何做到这一点。)
DATA是mongoDB组函数的输出。我想按照这个列表来排序'ups_ad'。
from pprint import pprintDATA = [ {u'avg': 2.9165000000000001, u'count': 10.0, u'total': 29.165000000000003, u'ups_ad': u'10.194.154.49:80'}, {u'avg': 2.6931000000000003, u'count': 10.0, u'total': 26.931000000000001, u'ups_ad': u'10.194.155.176:80'}, {u'avg': 1.9860909090909091, u'count': 11.0, u'total': 21.847000000000001, u'ups_ad': u'10.195.71.146:80'}, {u'avg': 1.742818181818182, u'count': 11.0, u'total': 19.171000000000003, u'ups_ad': u'10.194.155.48:80'} ]data_sorted = sorted(DATA, key=lambda item: item['ups_ad'])pprint(data_sorted)
结果:
[{u'avg': 2.9165000000000001, u'count': 10.0, u'total': 29.165000000000003, u'ups_ad': u'10.194.154.49:80'}, {u'avg': 2.6931000000000003, u'count': 10.0, u'total': 26.931000000000001, u'ups_ad': u'10.194.155.176:80'}, {u'avg': 1.742818181818182, u'count': 11.0, u'total': 19.171000000000003, u'ups_ad': u'10.194.155.48:80'}, {u'avg': 1.9860909090909091, u'count': 11.0, u'total': 21.847000000000001, u'ups_ad': u'10.195.71.146:80'}]
参考文献:
HowTo / Sorting - PythonInfo Wiki
排序的内置函数 - Python文档
新闻名称:创新互联Python教程:如何在Python中对dicts列表进行排序
URL链接:http://www.csdahua.cn/qtweb/news21/348821.html
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网