千锋教育2023版Python面试宝典Python面试核心必考100题

059.企业面试题:
用Python代码实现Python内置函数max。
点评:这个题目看似简单,但实际上还是比较考察面试者的功底。因为Python内置的max函数既可以传入可迭代对象找出最大,又可以传入两个或多个参数找出最大;最为关键的是还可以通过命名关键字参数key来指定一个用于元素比较的函数,还可以通过default命名关键字参数来指定当可迭代对象为空时返回的默认值。
代码:
def my_max(*args, key=None):
args = args[0] if len(args)==1 else args
if key == None:
max_= args[0]
for n in args:
if n >max_:
max_ = n
return max_
else:
max_ = args[0]
for n in args:
if key(n) >key(max_):
max_=n
return max_