Python_内置函数之max

源码:

 1 def max(*args, key=None): # known special case of max
 2     """
 3     max(iterable, *[, default=obj, key=func]) -> value
 4     max(arg1, arg2, *args, *[, key=func]) -> value
 5 
 6     With a single iterable argument, return its biggest item. The
 7     default keyword-only argument specifies an object to return if
 8     the provided iterable is empty.
 9     With two or more arguments, return the largest argument.
10     """
11     pass

 

 简单使用:

ret = max(1, 2, 4)
print(ret)

  结果:

4

  

一般使用:

当key不为空时,就以key的函数对象为判断的标准.

如果我们想找出一组数中绝对值最大的书,就可以配合lambda先进行处理,再找出最大值.

a = [-9, -8, 1, 3, -4, 6]
ret = max(a, key=lambda x: abs(x))
print(ret)

  结果:

-9

骚操作:找出字典中值最大的那组数据

  如果有一组商品,其名称和价格都存在一个字典中,可以用下面的方法快速找到价格最贵的那组商品:

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)

  结果:

(450.1, 'B')

  当字典中的value相同的时候,才会比较key:

prices = {
    'A': 123,
    'B': 123
}
max_prices = max(zip(prices.values(), prices.keys()))
print(max_prices)
min_prices = min(zip(prices.values(), prices.keys()))
print(min_prices)

  结果:

(123, 'B')
(123, 'A')

  

dic = {
    'k1': 10,
    'k2': 100,
    'k3': 30
}
print(max(dic))
print(dic[max(dic, key= lambda k: dic[k])])

  结果:

k3
100

  

转载于:https://www.cnblogs.com/ZN-225/p/9588143.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值