operator模块提供的itemgetter函数用于获取对象的哪些维的数据,参数为一些序号,看下面例子:
import operator
a = [1, 2, 3]
b = operator.itemgetter(1) # 定义函数b,获取对象的第1个域的值
print(b(a))
结果:2
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
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 升序(默认)。
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
a = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]
b = sorted(a, key = operator.itemgetter(2))
print(b)