Python Tips 2

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来生成一个反向的迭代器

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181022G0SGXG00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券