python中max函数的使用

记录一下python中的max函数的基本使用,主要是参数key的使用
官方给出的max函数语法:

max(iterable, *[, default=obj, key=func]) -> value
max(arg1, arg2, *args, *[, key=func]) -> value

With a single iterable argument, return its biggest item. The
default keyword-only argument specifies an object to return if
the provided iterable is empty.
With two or more arguments, return the largest argument.

其中key就可以理解为比较的标准
比如:

d = {'a': 1, 'c': 2, 'b': 3}
print(max(d, key=d.get))  # 返回结果:b
print(max(d, key=lambda x: d[x])) # 返回结果:b

这段代码的功能是:找出字典中最大value对应的key
因为python直接对字典操作的话其实用的是字典的键,因此max中的参数d获得的就是字典的键(‘a’, ‘b’, ‘c’),然后作为key指定的函数的参数,即比较标准是对应的值(即比较d.get(‘a’),d.get(‘b’),d.get(‘c’)),也就是比较各自对应的值1,2,3,最大的当然是3,所以得到的结果是3对应的key ’b’

获得字典最大的值:

d = {'a': 1, 'c': 2, 'b': 3}
print(max(d.values())) # 返回结果是3

获得字典最大的键:

d = {'a': 1, 'c': 2, 'b': 3}
print(max(d))
print(max(d.keys()))  # 返回结果是c
lst = [(1,2), (10,4), (5,6)]
max_index = lst.index(max(lst, key=lambda x: x[0]))
print(max_index)  # 返回结果:1
max_index = lst.index(max(lst, key=lambda x: x[1]))
print(max_index)  # 返回结果:2

上面两者比较的key所指定标准不相同。拿第一个说,max中每次迭代列表lst,把(1,2), (10,4), (5,6)分别传给x,则x[0]分别得到1,10,5,最大的自然是10,对应的索引为1,即返回的结果为1,同理,第二个比较的是2,4,6,得到的索引自然是2.

  • 4
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值