[TOC=1,5] >[success] # 找字典中,最大K和V的时候 利用 zip 和max/min 可以找到字中的最大和最小的K,V值,两者有本质区别 >[danger] ##### zip 将字典中的K,V 变成可迭代的 * 根据min/max /sorted 配合实例 ~~~ dic = { "a":3, "b":2, "c":1, } print(min(zip(dic.values(),dic.keys()))) print(max(zip(dic.values(),dic.keys()))) print(sorted(zip(dic.values(),dic.keys()))) 打印结果: (1, 'c') (3, 'a') [(1, 'c'), (2, 'b'), (3, 'a')] ~~~ >[danger] ##### min/max 直接使用效果 * 当判断K的时候,只能按照字母排序找到最大最小,而不是依据k * 当查value 时候,却 只是单独的value大小 ~~~ dic = { "a":3, "b":2, "c":1, } print(min(dic)) print(min(dic.values())) 打印结果: a 1 ~~~ * 想达到zip的效果写法 ~~~ dic = { "a":3, "b":2, "c":1, } # 利用 lambda 表达式,判断条件是v,打印出k min_key = min(dic,key=lambda k: dic[k]) print(min_key) # 利用key 打印出value print(dic[min_key]) 打印结果: c 1 ~~~ >[danger] ##### zip 遇到相同的value时,按照K返回 ~~~ dic = { "a":3, "b":3, } print(min(zip(dic.values(),dic.keys()))) print(max(zip(dic.values(),dic.keys()))) 打印结果: (3, 'a') (3, 'b') ~~~