Python中的operator模块中的itemgetter函数的作用是获取对象哪些维的数据,参数是表示维的序号。
operator.itemgetter函数定义的是一个函数,通过该函数作用到对象上才能获取值
下边通过例子来说明此函数的具体用法:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import operator
a = [1, 2, 3]
b = operator.itemgetter(1)
c = operator.itemgetter(1,2)
print(b(a))
print(c(a))
运行结果:
一般operator.itemgetter()函数可以结合sorted函数一起使用实现sorted的高级作用:
sorted()函数的具体使用请参考Python中sorted()函数的高级用法详解
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import operator
a = [[1, 2, 3], [3, 5, 6], [2, 4, 5]]
print("按照每个元素的第1个元素排序:", end='')
print(sorted(a, key=operator.itemgetter(0))) # 按照每个元素的第1个元素排序
print("按照每个元素的第2个元素排序:", end='')
print(sorted(a, key=operator.itemgetter(1))) # 按照每个元素的第2个元素排序
print("按照每个元素的第3个元素排序:", end='')
print(sorted(a, key=operator.itemgetter(2))) # 按照每个元素的第3个元素排序
运行结果(红色方框是依据排序的元素):