博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python中operator.itemgetter函数
阅读量:4965 次
发布时间:2019-06-12

本文共 1002 字,大约阅读时间需要 3 分钟。

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

你可能感兴趣的文章
【Manthan, Codefest 18 (rated, Div. 1 + Div. 2) C】Equalize
查看>>
【codeforces 767A】Snacktower
查看>>
【MemSQL Start[c]UP 3.0 - Round 1 C】 Pie Rules
查看>>
Ognl中“%”、“#”、“$”详解
查看>>
我对应用软件——美团的看法
查看>>
执行了的程序,才是你的程序.
查看>>
struts2.x + Tiles2.x读取多个xml 配置文件
查看>>
表单校验之datatype
查看>>
python第六篇文件处理类型
查看>>
hdu 3183 A Magic Lamp 贪心
查看>>
ubuntu16系统磁盘空间/dev/vda1占用满的问题
查看>>
面试题14 调整数组顺序使奇数位于偶数前面
查看>>
grid网格布局
查看>>
flask简单的注册功能
查看>>
JSP常用标签
查看>>
dashucoding记录2019.6.7
查看>>
IOS FMDB
查看>>
编码总结,以及对BOM的理解
查看>>
九涯的第一次
查看>>
Android中全屏或者取消标题栏
查看>>