day12 max min zip 用法

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',)]

猜你喜欢

转载自www.cnblogs.com/shijieli/p/9699971.html