day12 max min zip 用法
max min ,查看最大值,最小值
基础玩法
l = [1,2,3,4,5]
print(max(l))
print(min(l))
高端玩法
默认字典的取值是key的比较
age_dic={'alex_age':18,'wupei_age':20,'zsc_age':100,'lhf_age':30}
print(max(age_dic.values())) # 100 我可以得到最大值的值
print(max(age_dic)) # zsc_age 我可以得到最大值的键
倘若我想要得到值最大的那个键值对,默认只能比较键,或者添加参数比较值,但是都无法组合起来输出,需要用拉链
age_dic={'alex_age':18,'wupei_age':20,'zsc_age':100,'lhf_age':30}
a = zip(age_dic.values(),age_dic.keys()) # 组成新的数据类型
print(a) # <zip object at 0x000000000065BF88> zip后的本质为一个对象
# print(list(a)) # [(18, 'alex_age'), (20, 'wupei_age'), (100, 'zsc_age'), (30, 'lhf_age')]
#通过list方法可以取出其数据
# # print(list(a)) # [] 本质是一个迭代器,被使用一次就清空了
# for i in a : # 能被list,都说是迭代器了,自然就可迭代
# print(i)
print(list(max(a))) # [100, 'zsc_age'] 这样就可以取出来整个键值对了
key关键字
people=[
{'name':'alex','age':1000},
{'name':'wupei','age':10000},
{'name':'yuanhao','age':9000},
{'name':'linhaifeng','age':18},
]
# max内也有key关键字,关键字指定要取出来进行比较的内容
print('谁是最大年纪的?',max(people,key=lambda dic:dic['age']))
# 通常的实现取最大年龄的方式
people=[
{'name':'alex','age':1000},
{'name':'wupei','age':10000},
{'name':'yuanhao','age':9000},
{'name':'linhaifeng','age':18},
]
ret=[]
for item in people:
ret.append(item['age'])
print(ret)
print(max(ret))
max 的特殊注意点
l=[(5,'a'),(1,'b'),(3,'c'),(4,'d'),]
print('--->',max(l)) # (5, 'a') 内部有多元素的时候也是按照一个一个来比较
l1=['a10','b12','c10',100] #不同类型之间不能进行比较
print('--->',list(max(l1))) # TypeError: '>' not supported between instances of 'int' and 'str'
l2=['a18','a2','a11'] # 只能相同类型进行比较,且一位一位的比较
print('--->',list(max(l2))) # ---> ['a', '2']
总结:
只能比较可迭代的序列,因此字典是不可比较的
一位一位的比,比出来就不必后面的了。和长度无关的
不同数据类型之间无法比较
ps:
拉链,两个序列(元祖字符串字典列表都可以)一一对应组合起来
print(list(zip(("","",""),("a","b","c"))))
print(list(zip(("","","",""),("a","b","c"))))
print(list(zip(("","",""),("a","b","c","d"))))
# [('1', 'a'), ('2', 'b'), ('3', 'c')]
# [('1', 'a'), ('2', 'b'), ('3', 'c')]
# [('1', 'a'), ('2', 'b'), ('3', 'c')]
p = {"name":"yangtuo","age":18,"gender":"boy"}
print(list(zip(p.keys(),p.values())))
print(list(zip(p.keys())))
print(list(zip(p.values())))
# [('name', 'yangtuo'), ('age', 18), ('gender', 'boy')]
# [('name',), ('age',), ('gender',)]
# [('yangtuo',), (18,), ('boy',)]
day12 max min zip 用法的更多相关文章
- max,min,Zip函数(十一)
zip函数,拉链,传两个有序的参数,将他们一一对应为元祖形式 max,min比较默认比较一个元素,处理的是可迭代对象,相当于for循环取出每个元素进行比较,注意:不同类型之间不可比较 #!/usr/b ...
- mysql count max min 语句用法
count 用法 求总条数 $sql="select count(*) as total from e_user"; $query = mysql_query($sql, $lin ...
- 列表推导式、生成器表达式以及zip()max()max()/min()sum()sort()map()filter()的用法
列表推导式: 基本格式: variable = [out_exp_res for out_exp in input_list if out_exp == 2] #out_exp_res: 列表生成元素 ...
- python奇技淫巧——max/min函数的用法
本文以max()为例,对min/max内建函数进行说明 源码 def max(*args, key=None): # known special case of max ""&qu ...
- 从集合中查找最值得方法——max(),min(),nlargest(),nsmallest()
从集合中查找最值得方法有很多,常用的方法有max(),min(),nlargest(),nsmallest()等. 一.max()和min() 1.1 入门用法 直接使用max(),min(),返回可 ...
- SQL--合计函数(Aggregate functions):avg,count,first,last,max,min,sum
SQL--合计函数(Aggregate functions):avg,count,first,last,max,min,sum avg() 函数 定义和用法 AVG 函数返回数值列的平均值.NULL ...
- jquery.validate.min.js 用法方法示例
页面html 代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w ...
- 6.组函数(avg(),sum(),max(),min(),count())、多行函数,分组数据(group by,求各部门的平均工资),分组过滤(having和where),sql优化
1组函数 avg(),sum(),max(),min(),count()案例: selectavg(sal),sum(sal),max(sal),min(sal),count(sal) from ...
- group by与avg(),max(),min(),sum()函数的关系
数据库表: create table pay_report( rdate varchar(8), --日期 region_id varchar(4), --地市 ...
随机推荐
- eclipse打断点的调试
对于程序员来说,最重要的技能之一其实是在发现问题的时候,定位问题,然后才能解决问题. 发现问题的能力十分的重要.而debug的水平就是基础. 打断点之后,操作相应的步骤,然后eclipse会跳转到相应 ...
- Luogu3516 POI2011 Shift 构造
传送门 题意:给出一个长为$N$的排列,有两种操作:$A$:将最后一个数字放到第一个:$B$:将第三个数字放到第一个.一次性使用某种操作$k$次写作$kA$或$kB$,其中在$kA$中$k < ...
- 判断response.data是否为空
需要对response.data进行判断,是否有数据返回.如果是空的,将要处理一些事情,反之,又要处理另外一些事情. 在jQuery程序中,有一个方法:$.isEmptyObject().此方法在an ...
- pycharm shortcut
Alt+F12 is a shortcut to open/hide Terminal panel
- MySQL主主同步配置
1. MySQL主主配置过程 在上一篇实现了主从同步的基础上,进行主主同步的配置. 这里用node19(主),node20(从)做修改,使得node19和node20变为主主同步配置模式 修改配置文件 ...
- devstack 安装(centos7)
1. 创建devstack用户 sudo useradd -s /bin/bash -d /opt/stack -m stackecho "stack ALL=(ALL) NOPASSWD: ...
- JavaScript术语:shim 和 polyfill
转自:https://www.html.cn/archives/8339 在学习和使用 JavaScript 的时候,我们会经常碰到两个术语:shim 和 polyfill.它们有许多定义和解释,意思 ...
- ecna2017-Sheba’s Amoebas
很简单的深搜的一道题,由于这道题要找环的个数,并且认为相连当一个点的8个方向种中有一个方向和这个点相连. 这个题做法无非就是暴力每个点,然后满足条件的深搜即可. 感觉我自己的代码写的很无趣,大佬的代码 ...
- 网站响应式布局/网站自适应问题+rem、em、px、pt及网站字体大小设配
Bootstrap 网格系统: Bootstrap CSS: Bootstrap 组件及插件: 一.什么是响应式布局? 响应式布局是Ethan Marcotte在2010年5月份提出的一个 ...
- Linux内核分析——ELF文件格式分析
ELF文件(目标文件)格式主要三种: 1)可重定向文件:文件保存着代码和适当的数据,用来和其他的目标文件一起来创建一个可执行文件或者是一个共享目标文件.(目标文件或者静态库文件,即linux通常后缀为 ...