3.python小技巧分享-使用min和max函数去找字典中的最大值和最小值

睡前分享一个小技巧~

使用min和max函数来巧妙的查找一个字典中的最大value和最小value。

比如说,现在有一个字典,字典的key是用户名,value则是这个用户的账户有多少钱。

现在想要找出账户内余额最多的用户,请问如何实现?

d1 = {‘suhaozhi‘:12345,‘tony‘:4513,‘eric‘:135,‘jolin‘:13000000}

很简单,只要使用zip函数结合max函数就可以做到了。

print max(zip(d1.values(),d1.keys()))

#元素和元素之间使用max或者min进行比较,是从元素的第一个位置开始比,如果已经分出大小,后面就不比了,直接按照这个顺序排列。

只要对象可以被迭代,max和min函数就可以去使用。

这种方法即能保留key,还可以比较value。

那么问题来噜,如果是下面这种列表套多个字典的数据结构呢?

l1 = [

{‘name‘:‘suhaozhi‘,‘money‘:13000},

{‘name‘:‘tony‘,‘money‘:4513},

{‘name‘:‘eric‘,‘money‘:135},

{‘name‘:‘jolin‘,‘money‘:13000000}

]

下面就要引出max函数的高级用法了。

def dic_key(dic):

return dic[‘money‘]

print max(l1,key=dic_key)

#max和min函数是用来处理可迭代对象的,相当于for循环取出了序列中的每个元素,进行比较,如果一个位置比较出大小,后面的就不需要比较了,直接得出两个元素的大小。

#如果不想取最大值或者最小值,想要排序的话,可以使用sorted函数。

d1 = {‘suhaozhi‘:12345,‘tony‘:4513,‘eric‘:135,‘jolin‘:13000000}

print sorted(d1,key=lambda key:d1[key])

时间: 2024-12-14 18:41:48

3.python小技巧分享-使用min和max函数去找字典中的最大值和最小值的相关文章

eclipse 开发python 小技巧分享

1.如何在Eclipse中显示空格(space)和制表符(tab) 在ECLIPSE开发中,我们有时无法区分空格(SPACE)和制表符(TAB),通过下面的选择设置就能很好区分Window->references->General->Editors->TextEditors->Showwhitespacecharacters

python 小技巧

英文出处:sahandsaba.欢迎加入翻译组. 从我开始学习python的时候,我就开始自己总结一个python小技巧的集合.后来当我什么时候在Stack Overflow或者在某个开源软件里看到一段很酷代码的时候,我就很惊讶:原来还能这么做!,当时我会努力的自己尝试一下这段代码,直到我懂了它的整体思路以后,我就把这段代码加到我的集合里.这篇博客其实就是这个集合整理后一部分的公开亮相.如果你已经是个python大牛,那么基本上你应该知道这里面的大多数用法了,但我想你应该也能发现一些你不知道的新

[小技巧]自动化测试时NLog的消息输出到测试结果中

平常我会用Visual Stuido的测试项目,写一些自动化测试,如单元测试.整合测试等等,受测的Code中有很多地方用NLog记录消息,在正试的环境,会写到数据库,但测试时我会想把消息输出到每一个测试的结果中,除了节省数据库外,也比较容易追纵错误消息. 平常我会用Visual Stuido的测试项目,写一些自动化测试,如单元测试.整合测试等等,受测的Code中有很多地方用NLog记录消息,在正试的环境,会写到数据库,但测试时我会想把消息输出到每一个测试的结果中,除了节省数据库外,也比较容易追纵

2.10 用最少次数寻找数组中的最大值和最小值[find min max of array]

[本文链接] http://www.cnblogs.com/hellogiser/p/find-min-max-of-array.html [题目] 对于一个由N个整数组成的数组,需要比较多少次才能把最大和最小的数找出来呢? [分析] 1. 遍历两次数组,分别找出最大值和最小值,需要进行 2N 次比较. 2. 将数组中的元素分组,按顺序将数组中相邻的两个数分在同一组,用Max和Min来存储最大值和最小值.同一组比较完之后,较小的数与当前的最小值比较,如该数小于当前最小值,更新Min:较大的数与当

Visual C++中min()和max()函数的使用

标准库在<algorithm>头中定义了两个模板函数std::min() 和 std::max().通常用它可以计算某个值对的最小值和最大值. 可 惜在 Visual C++ 无法使用它们,因为没有定义这些函数模板.原因是名字min和max与<windows.h>中传统的min/max宏定义有冲突.为了解决 这个问题,Visual C++ 定义了另外两个功能相同的模板:_cpp_min() 和 _cpp_max().我们可以用它们来代替std::min() 和 std::max()

Python编码小技巧分享【新手必学】

本次分享了python编程小技巧总结如下,希望对大家有帮助,非常实用哦注意:很多人学Python过程中会遇到各种烦恼问题,没有人帮答疑.为此小编建了个Python全栈免费答疑交流.裙 :一久武其而而流一思(数字的谐音)转换下可以找到了,不懂的问题有老司机解决里面还有最新Python教程项目可拿,,一起相互监督共同进步! 交换值 从列表中的所有元素创建单个字符串 查询列表中出现频率最多的元素 检查两个单词是否是字谜 反转字符串 反转列表 转置 2 维数组 链式比较 链式函数调用 列表复制 字典值获

Python补充02 Python小技巧

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在这里列举一些我使用Python时积累的小技巧.这些技巧是我在使用Python过程中经常使用的.之前很零碎的记在笔记本中,现在整理出来,和大家分享,也作为Python快速教程的一个补充. import模块 在Python经常使用import声明,以使用其他模块(也就是其它.py文件)中定义的对象. 1) 使用__name__ 当我们编写Python库模块的时候,我们往往运行一些测

window.open的小技巧分享(转)

今天再次谈起window.open是因为发现了一个比较好玩的小技巧,详细内容我们稍后详细说明. 聊到window.open,不得不说明一下他的使用方法,主要有两种形式: window.open()没有任何参数,这种方式可以新标签打开页面 window.open(url, name, pars),带有参数的可以在当前页面打开窗口 详细的使用方法,之前有过介绍,如果想了解,可以点击这里. 知道了如何使用,接下来介绍几个特别的属性和方法(下面所说到的都是同域页面): window.open()打开的窗

window.open的小技巧分享

今天再次谈起window.open是因为发现了一个比较好玩的小技巧,详细内容我们稍后详细说明. 聊到window.open,不得不说明一下他的使用方法,主要有两种形式: window.open()没有任何参数,这种方式可以新标签打开页面 window.open(url, name, pars),带有参数的可以在当前页面打开窗口 详细的使用方法,之前有过介绍,如果想了解,可以点击这里. 知道了如何使用,接下来介绍几个特别的属性和方法(下面所说到的都是同域页面): window.open()打开的窗