max(*args, key=None): # 返回最大值
max(iterable, *[, default=obj, key=func]) -> value
max(arg1, arg2, *args, *[, key=func]) -> value
初级技巧
tmp = max(1,2,4)
print(tmp)
#可迭代对象
a = [1, 2, 3, 4, 5, 6]
tmp = max(a)
print(tmp)
中级技巧:key属性的使用
key参数不为空时,就以key的函数对象为判断的标准。
如果我们想找出一组数中绝对值最大的数,就可以配合lamda先进行处理,再找出最大值
a = [-9, -8, 1, 3, -4, 6]
tmp = max(a, key=lambda x: abs(x))
print(tmp)
高级技巧:找出字典中值最大的那组数据
在对字典进行数据操作的时候,默认只会处理key,而不是value
先使用zip把字典的keys和values翻转过来,再用max取出值最大的那组数据
这个时候key是值,value是之前的key
如果有一组商品,其名称和价格都存在一个字典中,可以用下面的方法快速找到价格最贵的那组商品:
prices = {
'A':123,
'B':450.1,
'C':12,
'E':444,
}
# 在对字典进行数据操作的时候,默认只会处理key,而不是value
# 先使用zip把字典的keys和values翻转过来,再用max取出值最大的那组数据
max_prices = max(zip(prices.values(), prices.keys()))
print(max_prices)
#这个时候key是值,value是之前的key
# (450.1, 'B')
当字典中的value相同的时候,才会比较key
prices = {
'A': 123,
'B': 123,
}
max_prices = max(zip(prices.values(), prices.keys()))print(max_prices) # (123, 'B')
min_prices = min(zip(prices.values(), prices.keys()))print(min_prices) # (123, 'A')