如何在python中从key1的最大值列表中找到key2的最小值对象
我有一个字典对象列表,比如如何在python中从key1的最大值列表中找到key2的最小值对象,python,arrays,list,max,min,Python,Arrays,List,Max,Min,我有一个字典对象列表,比如[{'year':2017,'q':2,'category'=c}],每个对象都有3个字段,如下所示: [{2015,1,w} {2015,3,q} {2017,2,a} {2012,5,b} {2017,5,p} {2013,3,a} {2015,4,a} {2017,1,d} {2016,2,e} ] 如何首先按最大年份对列表排序,然后在最大年份对象之间排序,我想找到具有最小键2值的对象。实际上,首先我想根据两个键(最大键1和最小键2)对列表进行排序,得到以下列表
[{'year':2017,'q':2,'category'=c}]
,每个对象都有3个字段,如下所示:
[{2015,1,w}
{2015,3,q}
{2017,2,a}
{2012,5,b}
{2017,5,p}
{2013,3,a}
{2015,4,a}
{2017,1,d}
{2016,2,e}
]
如何首先按最大年份对列表排序,然后在最大年份对象之间排序,我想找到具有最小键2值的对象。实际上,首先我想根据两个键(最大键1和最小键2)对列表进行排序,得到以下列表:
[{2017,1,d}
{2017,2,a}
{2017,5,p}
{2016,4,e}
{2015,1,w}
{2015,3,q}
{2015,4,a}
{2013,3,a}
{2012,5,b}]
最后,从列表返回
{2017,1,d}
集合
是无序的,因此我假设您要对列表列表进行排序,可以使用排序()
执行以下操作:
从Python2.4
开始,list.sort()
和sorted()
都添加了一个
键参数,指定要在每个列表元素上调用的函数
在进行比较之前
我用过类似的东西,但你的对象必须是列表:
ordered_l =sorted(sorted(your_list,key=itemgetter(1),reverse=False),key=itemgetter(0),reverse=True)
{2015,1,w}
-这是无效的符号。它不可能是一个dict。也许,你指的是元组。无论如何,你应该更新你的问题
ordered_l =sorted(sorted(your_list,key=itemgetter(1),reverse=False),key=itemgetter(0),reverse=True)