python中的operator.itemgetter函数

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

import operator

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

结果:2

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333 
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
b = operator.itemgetter(1, 0)   # 定义函数b,获取对象第1个域和第0个域的值
print(b(a))

结果:(2,1)

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

sorted函数

sorted(iterable[, cmp[, key[, reverse]]])
  • iterable:可迭代对象
  • cmp:cmp函数用于比较2个对象,如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1。
  • key:key的参数为一个函数或者lambda函数。
  • reverse:reverse = True 降序 , reverse = False 升序(默认)。
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333 
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
a = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]
b = sorted(a, key = operator.itemgetter(2))
print(b)

在这里插入图片描述

posted @ 2022-10-07 20:36  I'm_江河湖海  阅读(15)  评论(0)    收藏  举报