1. operator.itemgetter ( )
operator模块提供的itemgetter定义了一个函数。input:索引序号, output:函数哪些维的数据
下面看例子。
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)
下面看其用于sorted函数
students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]sorted(students, key=operator.itemgetter(2)) # 定义函数,input is a iter, output is iter[2]
output:[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]
2. lambda()
lambda是一个匿名函数,会返回一个函数对象,
lambda语法规则:
lambda 形参 : expression(即output)
如: