python sorted list 元组 多列排序

在Python中可以使用sorted函数对list进行排序,但是如果排序的对象是一个包含tuple的list时,sorted函数会使用tuple的第一个元素。

如果想要使用tuple的第二个元素进行排序,可以向sorted函数传入一个key参数,key参数必须是一个函数,输入是list的一个元素,输出最好是一个数字或简单的字符。

构造这样一个函数可以使用匿名函数lambda,示例代码如下:

1
2
3
myList  =  [( 'dungeon' , 7 ),( 'winterfell' , 4 ),( 'bran' , 9 ),( 'meelo' , 6 )]
print  sorted (myList, key = lambda  x:x[ 1 ])
# [('winterfell', 4), ('meelo', 6), ('dungeon', 7), ('bran', 9)]

其他回答

1
2
3
4
5
In [ 1 ]: a = (( 1 , 'c' ),( 4 , 'd' ),( 2 , 'b' ),( 3 , 'a' ))
In [ 2 ]:  sorted (a,key = lambda  x:x[ 1 ])
Out[ 2 ]: [( 3 'a' ), ( 2 'b' ), ( 1 'c' ), ( 4 'd' )]
In [ 3 ]:  sorted (a)
Out[ 3 ]: [( 1 'c' ), ( 2 'b' ), ( 3 'a' ), ( 4 'd' )]
 本回答被提问者和网友采纳
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值