编写Min Max函数:返回输入列表的最小值与最大值
实现min_max函数获取列表的最小和最大值
需求说明
编写一个min_max函数,接收一个列表作为参数:
- 若列表非空,返回包含两个元素的列表,第一个是列表最小值,第二个是最大值
- 若列表为空,返回
[0, 0]
简洁实现方案
利用Python内置的min()和max()函数可以快速完成需求,同时处理空列表的边界情况:
def min_max(lst): if not lst: return [0, 0] return [min(lst), max(lst)]
测试验证
针对示例场景测试,结果符合预期:
min_max([1, 2, 3, 4, 5, 6])返回[1, 6]min_max([43, 12, 0, 372, 1, -5])返回[-5, 372]min_max([])返回[0, 0]
手动遍历实现(底层逻辑版)
如果需要理解计算的底层逻辑,可以通过一次遍历列表来手动维护最小和最大值:
def min_max(lst): if not lst: return [0, 0] min_val = max_val = lst[0] for num in lst[1:]: if num < min_val: min_val = num elif num > max_val: max_val = num return [min_val, max_val]
该版本时间复杂度为O(n),和内置函数实现效率一致,适合需要自定义遍历逻辑的场景。
内容的提问来源于stack exchange,提问作者Mattx21
相关产品推荐
相关产品推荐

