我有一个函数来同时检索列表的最小值和最大值:
def min_max(iterable, key=None):
"""Retrieve the min and max values of `iterable` simultaneously."""
if key is None: key = lambda x: x
if not iterable:
return None, None
min_ = max_ = key(iterable[0])
for i in iterable[1:]:
if key(i) > key(max_): max_ = i
if key(i) < key(min_): min_ = i
return min_, max_
Run Code Online (Sandbox Code Playgroud)
但它让我感到疑惑,因为无论如何我在for循环中进行了两次比较min,max单独使用和单独使用会不会更快?如果是,我如何编辑此功能以提高效率?