先看代码:
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位降序,第四位升序,有什么办法吗?? 感谢大神解答
收起
当前问题酬金
¥ 0 (可追加 ¥500)
支付方式
扫码支付
支付金额 15 元
提供问题酬金的用户不参与问题酬金结算和分配
支付即为同意 《付费问题酬金结算规则》
自己写一个比较的函数就行了,看代码
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)
报告相同问题?
程序员都在用的中文IT技术交流社区
专业的中文 IT 技术社区,与千万技术人共成长
关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!