这篇文章将为大家详细讲解有关在Python中对dicts列表进行排序的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

问题:在使用MongoDB组合函数(它类似于SQL的GROUP BY)来聚合项目的一些结果。此功能虽然非常酷,但它不会对分组数据进行排序。

解决:以下是如何对数据进行排序。(它只有一行Python,但很难记住如何做到这一点。)

DATA是mongoDB组函数的输出。我想按照这个列表来排序'ups_ad'。

frompprintimportpprintDATA=[{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=lambdaitem: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'}]

关于在Python中对dicts列表进行排序的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。