sorted函数按照指定值排序
Python中的sorted函数可以对进行排序
如果list中对象是dict并且想通过dict的公共键来排序,那么可以将sorted函数中的key参数指定为公共键的值
例如有5个dict组成list的数据,其中每个dict包含name和id2个key,通过id进行排序
这里传入key的参数是lambda表达式,表示取id的value来进行排序,我们也可以调用operator模块中的itemgetter来实现
执行效率上,使用itemgetter的速度更为快些,因此考虑到性能的话,推荐使用itemgetter
同样,key参数也可以用于对按照类中的某个属性进行排序
例如创建一个User类,其中有name和user_id两个属性,创建包含5个User对象的列表,并按照user_id对列表进行排序
同样,也可以使用operator模块中的attrgetter
对list中元素计数
Python的collections模块中Counter类可以帮助我们实现对于list中元素进行计数
我们可以利用上节中提到的sorted函数对color_count按出现的次数进行排序
Counter类还提供了一个most_common函数方便选取出现次数排前n个的元素
保留最后的N个元素
Python的collections模块还有个deque的容器也非常有用,可以通过设置maxlen参数来保留最后加入的N个元素
反转list
list中常用的反转方法是设置步长为-1,对list进行反转
也可以使用reversed来生成一个反向的迭代器
领取专属 10元无门槛券
私享最新 技术干货