max min ,查看最大值,最小值
基础玩法
1 l = [1,2,3,4,5]
2 print(max(l))
3 print(min(l))
高端玩法
默认字典的取值是key的比较
1 age_dic={'alex_age':18,'wupei_age':20,'zsc_age':100,'lhf_age':30}
2 print(max(age_dic.values())) # 100 我可以得到最大值的值
3 print(max(age_dic)) # zsc_age 我可以得到最大值的键
倘若我想要得到值最大的那个键值对,默认只能比较键,或者添加参数比较值,但是都无法组合起来输出,需要用拉链
1 age_dic={'alex_age':18,'wupei_age':20,'zsc_age':100,'lhf_age':30}
2 a = zip(age_dic.values(),age_dic.keys()) # 组成新的数据类型
3 print(a) # <zip object at 0x000000000065BF88> zip后的本质为一个对象
4 # print(list(a)) # [(18, 'alex_age'), (20, 'wupei_age'), (100, 'zsc_age'), (30, 'lhf_age')]
5 #通过list方法可以取出其数据
6 # # print(list(a)) # [] 本质是一个迭代器,被使用一次就清空了
7 # for i in a : # 能被list,都说是迭代器了,自然就可迭代
8 # print(i)
9 print(list(max(a))) # [100, 'zsc_age'] 这样就可以取出来整个键值对了
key关键字
1 people=[
2 {'name':'alex','age':1000},
3 {'name':'wupei','age':10000},
4 {'name':'yuanhao','age':9000},
5 {'name':'linhaifeng','age':18},
6 ]
7 # max内也有key关键字,关键字指定要取出来进行比较的内容
8 print('谁是最大年纪的?',max(people,key=lambda dic:dic['age']))
1 # 通常的实现取最大年龄的方式
2 people=[
3 {'name':'alex','age':1000},
4 {'name':'wupei','age':10000},
5 {'name':'yuanhao','age':9000},
6 {'name':'linhaifeng','age':18},
7 ]
8 ret=[]
9 for item in people:
10 ret.append(item['age'])
11 print(ret)
12 print(max(ret))
max 的特殊注意点
1 l=[(5,'a'),(1,'b'),(3,'c'),(4,'d'),]
2 print('--->',max(l)) # (5, 'a') 内部有多元素的时候也是按照一个一个来比较
3 l1=['a10','b12','c10',100] #不同类型之间不能进行比较
4 print('--->',list(max(l1))) # TypeError: '>' not supported between instances of 'int' and 'str'
5 l2=['a18','a2','a11'] # 只能相同类型进行比较,且一位一位的比较
6 print('--->',list(max(l2))) # ---> ['a', '2']
总结:
只能比较可迭代的序列,因此字典是不可比较的
一位一位的比,比出来就不必后面的了。和长度无关的
不同数据类型之间无法比较
ps:
拉链,两个序列(元祖字符串字典列表都可以)一一对应组合起来
1 print(list(zip(("1","2","3"),("a","b","c"))))
2 print(list(zip(("1","2","3","4"),("a","b","c"))))
3 print(list(zip(("1","2","3"),("a","b","c","d"))))
4 # [('1', 'a'), ('2', 'b'), ('3', 'c')]
5 # [('1', 'a'), ('2', 'b'), ('3', 'c')]
6 # [('1', 'a'), ('2', 'b'), ('3', 'c')]
7
8 p = {"name":"yangtuo","age":18,"gender":"boy"}
9 print(list(zip(p.keys(),p.values())))
10 print(list(zip(p.keys())))
11 print(list(zip(p.values())))
12 # [('name', 'yangtuo'), ('age', 18), ('gender', 'boy')]
13 # [('name',), ('age',), ('gender',)]
14 # [('yangtuo',), (18,), ('boy',)]