Python中operator模块中的itemgetter函数

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))

结果如下图:


猜你喜欢

转载自blog.csdn.net/CholenMine/article/details/81033629