首页 > 编程语言 > 详细

python中的operator.itemgetter函数

时间:2019-04-27 22:16:30      阅读:139      评论:0      收藏:0      [点我收藏+]

operator.itemgetter函数
operator模块提供的itemgetter函数用于获取对象的哪些维的数据,参数为一些序号。看下面的例子

a = [1,2,3] 
>>> b=operator.itemgetter(1)      //定义函数b,获取对象的第1个域的值
>>> b(a) 

2

>>> b=operator.itemgetter(1,0)  //定义函数b,获取对象的第1个域和第0个的值
>>> b(a) 
(2, 1)

 

要注意,operator.itemgetter函数获取的不是值,而是定义了一个函数,通过该函数作用到对象上才能获取值。

sorted函数用来排序,sorted(iterable[, cmp[, key[, reverse]]])

其中key的参数为一个函数或者lambda函数。所以itemgetter可以用来当key的参数

a = [(‘john‘, ‘A‘, 15), (‘jane‘, ‘B‘, 12), (‘dave‘, ‘B‘, 10)]

根据第二个域和第三个域进行排序

sorted(students, key=operator.itemgetter(1,2))

 

  • 用 operator 函数进行多级排序
 students = [(john, A, 15), (jane, B, 12), (dave, B, 10),]  
>>> sorted(students, key=itemgetter(1,2))  # sort by grade then by age  
[(john, A, 15), (dave, B, 10), (jane, B, 12)]  
## 对字典排序
>>> d = {data1:3, data2:1, data3:2, data4:4}  
>>> sorted(d.iteritems(), key=itemgetter(1), reverse=True)  
[(data4, 4), (data1, 3), (data3, 2), (data2, 1)]  

 

 

python中的operator.itemgetter函数

原文:https://www.cnblogs.com/baobaotql/p/10780572.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!