python3用sorted排序 50
比如我有一个列表list=[[1,3],[2,5],[1,6],[2,2]]我想用sorted()函数排序,满足下面条件:forxinlist,x[0]保持升序,在此基础...
比如我有一个列表 list = [ [1,3],[2,5],[1,6],[2,2] ]
我想用sorted()函数排序,满足下面条件:
for x in list,x[0]保持升序,在此基础上还有x[1]保持降序
也就是要输出 [ [1,6], [1,3],[2,5],[2,2] ]
以上只是一个例子,这种排序一般情形怎么处理 展开
我想用sorted()函数排序,满足下面条件:
for x in list,x[0]保持升序,在此基础上还有x[1]保持降序
也就是要输出 [ [1,6], [1,3],[2,5],[2,2] ]
以上只是一个例子,这种排序一般情形怎么处理 展开
2个回答
展开全部
如果a = [ [1,'3'], [1,'2'],[2,'5'],[2,'4'] ]
有两种解决方式:
方法一:
将字符串转换为int
sorted(list, key=lambda x:(x[0],-int(x[1])))
方法二:
取字符串的第一个字母进行比较
s = sorted(a, key=lambda x:(x[0],x[1][0]))
这个方法当字符串为一串单词时,也有效
有两种解决方式:
方法一:
将字符串转换为int
sorted(list, key=lambda x:(x[0],-int(x[1])))
方法二:
取字符串的第一个字母进行比较
s = sorted(a, key=lambda x:(x[0],x[1][0]))
这个方法当字符串为一串单词时,也有效
追问
方法二好像有点问题
比如 li = [ [1, 'aab'], [2, 'x'], [1, 'ac'] ] ,就不能正确排序
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询