operator模块中的itemgetter()返回一个函数!!!通过这个返回的函数作用到对象上才能取得其值。它的参数是一些序号。
它常常结合sorted(iterable,key=?,reverse=?)使用。(key是个函数)
eg:
import operator
a = [10, 20, 30, 40]
#定义函数func1, 获取对象的第0个值
func1 = operator.itemgetter(0)
#定义函数func2, 获取对象的第0个和第1个值
func2 = operator.itemgetter(0, 1)
print(func1(a))
print(func2(a))
di = {"apple": 40, "banana": 90, "pear": 30, "strawberry": 50}
print(di)
print(sorted(di.items(), key=operator.itemgetter(1))) #按照字典的值进行排序
print(sorted(di.items(), key=operator.itemgetter(1), reverse=True))
结果如下图: