python中operator.itemgetter函数

operator模块提供的itemgetter函数用于获取对象的哪些维的数据,参数为一些序号(即需要获取的数据在对象中的序号),下面看例子。

1 k = [3,6,8]
2 b = operator.itemgetter(1)
3 print(b(k))
4 #输出6
1 k = [3,6,8]
2 b = operator.itemgetter(2,0)
3 print(b(k))
4 #输出(8, 3)

要注意,operator.itemgetter函数获取的不是值,而是定义了一个函数,通过该函数作用到对象上才能获取值。

1 students = [(‘john‘, ‘C‘, 15), (‘jane‘, ‘A‘, 12), (‘dave‘, ‘B‘, 10)]
2 s = sorted(students,key = operator.itemgetter(1,2))
3 print(s)
4 #输出[(‘jane‘, ‘A‘, 12), (‘dave‘, ‘B‘, 10), (‘john‘, ‘C‘, 15)]

看看下面的练习

Q:找到年龄最大的人,并输出,person = {"li":18,"wang":50,"zhang":20,"sun":22}

常规for循环解法

 1 def fun(person):
 2     max = 0
 3     name = ""
 4     for key,value in person.items():
 5         if value > max:
 6             max = value
 7             name = key
 8     print(name)
 9     print(max)
10 fun(person)

利用operator.itemgetter函数

1 import operator
2 person = {"li":18,"wang":50,"zhang":20,"sun":22}
3 print(max(person.values()))
4 print(max(person.items(),key = operator.itemgetter(1))[0])  # 获取最大值的 key

原文地址:https://www.cnblogs.com/mululu/p/10538695.html

时间: 2024-11-04 12:20:54

python中operator.itemgetter函数的相关文章

python中operator.itemgetter

直接上例子: rs=  [...     {...       "datetime": "Mon, 31 Aug 2015 23:00:00 GMT",...       "id": 1,...       "name":"a"...     },...     {...       "datetime": "Mon, 31 Aug 2015 23:00:00 GMT"

Python中的sorted函数以及operator.itemgetter函数

operator.itemgetter函数operator模块提供的itemgetter函数用于获取对象的哪些维的数据,参数为一些序号(即需要获取的数据在对象中的序号),下面看例子. a = [1,2,3] >>> b=operator.itemgetter(1)      //定义函数b,获取对象的第1个域的值>>> b(a) 2 >>> b=operator.itemgetter(1,0)  //定义函数b,获取对象的第1个域和第0个的值>&

Python中的sorted函数以及operator.itemgetter函数 【转载】

operator.itemgetter函数operator模块提供的itemgetter函数用于获取对象的哪些维的数据,参数为一些序号(即需要获取的数据在对象中的序号),下面看例子. a = [1,2,3] >>> b=operator.itemgetter(1)      //定义函数b,获取对象的第1个域的值>>> b(a) 2 >>> b=operator.itemgetter(1,0)  //定义函数b,获取对象的第1个域和第0个的值>&

python中的operator.itemgetter函数

来自:https://blog.csdn.net/dongtingzhizi/article/details/12068205 operator模块提供的itemgetter函数用于获取对象的哪些维的数据,参数为一些序号,看下面例子: import operator a = [1, 2, 3] b = operator.itemgetter(1) # 定义函数b,获取对象的第1个域的值 print(b(a)) 结果:2 b = operator.itemgetter(1, 0) # 定义函数b,

python的operator.itemgetter('click')用于定义获取'click'项的函数

b = operator.itemgetter(1)  定义函数b,用于获取传入list的第1域的值 可以将b用于sort函数的key.作为排序的依据. adn_app_data_map是个字典 for key, app_arr in adn_app_data_map.items(): app_arr.sort(key=operator.itemgetter('click'), reverse=True) app_arr = app_arr[:3] keys = key.split('#') c

python中有趣的函数

filter(function, sequence):对sequence中的item依次执行function(item),将执行结果为True的item组成一个List/String/Tuple(取决于sequence的类型)返回: >>> def f(x): return x % 2 != 0 and x % 3 != 0 >>> filter(f, range(2, 25)) [5, 7, 11, 13, 17, 19, 23] >>> def f

举例详解Python中的split()函数的使用方法

这篇文章主要介绍了举例详解Python中的split()函数的使用方法,split()函数的使用是Python学习当中的基础知识,通常用于将字符串切片并转换为列表,需要的朋友可以参考下 函数:split() Python中有split()和os.path.split()两个函数,具体作用如下:split():拆分字符串.通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(list)os.path.split():按照路径将文件名和路径分割开 一.函数说明1.split()函数语法:str.

Python中的getattr()函数详解:

Python中的getattr()函数详解: getattr(object, name[, default]) -> value Get a named attribute from an object; getattr(x, 'y') is equivalent to x.y. When a default argument is given, it is returned when the attribute doesn't exist; without it, an exception i

python中的map()函数

MapReduce的设计灵感来自于函数式编程,这里不打算提MapReduce,就拿python中的map()函数来学习一下. 文档中的介绍在这里: map(function, iterable, ...) Apply function to every item of iterable and return a list of the results. If additional iterable arguments are passed, function must take that man