python中的operator.itemgetter函数

来自:https://blog.csdn.net/dongtingzhizi/article/details/12068205

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

import operator

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

结果:2

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 升序(默认)。
a = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]
b = sorted(a, key = operator.itemgetter(2))
print(b)

原文地址:https://www.cnblogs.com/keye/p/10425836.html