python中的列表排序

对列表进行排序是常见的操作,最简单的方式是使用sort()函数。

1、一般用法

不管列表元素是数、字符串还是元组,函数sort()总是就地操作列表,按升序进行排列元素,并返回None。

#
>>> lst1 = [1, 5, 3, 2]
>>> lst1.sort()
>>> lst1
[1, 2, 3, 5]
#字符串
>>> lst2 = ['up', 'down', 'left', 'right']
>>> lst2.sort()
>>> lst2
['down', 'left', 'right', 'up']
#元组
>>> lst3 = [(1, -1), (3, 5), (2, 1), (1, 2)]
>>> lst3.sort()
>>> lst3
[(1, -1), (1, 2), (2, 1), (3, 5)]

若想实现降序排列,可直接在调用sort()后再调用reverse()函数,或者使用reverse选项sort(reverse = True)。

2、使用key

使用sort()函数中的次要排序键,产生可用于排序的值的函数,即定义了排序的规则。如根据字符串的长度进行排序。

>>> lst2 = ['up', 'down', 'left', 'right']
>>> lst2.sort(key = len)
>>> lst2
['up', 'down', 'left', 'right']

也可以传入lamdba函数。如根据各字符串不同字母的数量进行排序。

>>> strs = [ 'foo', 'card', 'bar', 'aaaa', 'abab']
>>> strs.sort(key = lambda x : len(set(list(x))))
>>> strs
['aaaa', 'foo', 'abab', 'bar', 'card']

 

转载于:https://www.cnblogs.com/ik-heu/p/8158751.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值