先看代码:
a=[[5, 100, 103, 'MAN'], [2, -28, 5, 'JUV'], [2, -100, 4, 'MAD'], [5, 100, 103, 'BAR']]
a.sort(key=itemgetter(0,1,2,3),reverse=True)
print(a)
这个itemgetter(0,1,2,3,),加了reverse=True后是全部降序,我想前3位降序,第四位升序,有什么办法吗??
感谢大神解答
先看代码:
a=[[5, 100, 103, 'MAN'], [2, -28, 5, 'JUV'], [2, -100, 4, 'MAD'], [5, 100, 103, 'BAR']]
a.sort(key=itemgetter(0,1,2,3),reverse=True)
print(a)
这个itemgetter(0,1,2,3,),加了reverse=True后是全部降序,我想前3位降序,第四位升序,有什么办法吗??
感谢大神解答
自己写一个比较的函数就行了,看代码
def cmp1(x, y):
tmp1 = x[:-1]
tmp2 = y[:-1]
result = cmp(tmp2, tmp1)
if 0 == result:
return cmp(x[-1], y[-1])
return result
a = [[5, 100, 103, 'MAN'], [2, -28, 5, 'JUV'], [2, -100, 4, 'MAD'], [5, 100, 103, 'BAR']]
a.sort(cmp1)
print(a)