本文主要介绍了max的运行机制,以及如何传入和比较,min函数的运行机制和max一样,只是min取的是最小值
max/min 后直接跟序列会返回此序列的最大/最小值
max(iterable, key, default) 求迭代器的最大值,其中iterable 为迭代器,max会for i in … 遍历一遍这个迭代器,然后将迭代器的每一个返回值当做参数传给key=func 中的func(一般用lambda表达式定义) ,然后将func的执行结果传给key,然后以key为标准进行大小的判断。
以下根据不同的判断条件返回最大值也不同
d1 = {'name': 'egon', 'price': 100} d2 = {'name': 'rdw', 'price': 666} d3 = {'name': 'zat', 'price': 1} l1 = [d1, d2, d3] a = max(l1, key=lambda x: x['name']) print(a) b = max(l1, key=lambda x: x['price']) print(b)
执行结果
{'name': 'zat', 'price': 1} {'name': 'rdw', 'price': 666}