Python max()和min()寻找极值 使用方法
在Python中,我们可以使用max()和min()函数快速找到一个序列或者迭代器中的最大或最小值。
max()函数
max()函数用于返回给定参数的最大值,可以接收任意多个参数,也可以接收一个序列。
语法
max(iterable, *iterables, key=None, default=None)
- iterable — 一个用于迭代的序列。
- *iterables — 可选,一个或多个迭代器。
- key — 可选,用于比较的函数。
- default — 可选,如果所有的参数都为空,则返回default值。
示例1
numbers = [2, 7, 9, 14, 3, 8]
max_num = max(numbers)
print("最大值为:", max_num)
输出
最大值为: 14
示例2
students = [('Tom', 18), ('Jerry', 22), ('Amy', 17), ('Lucy', 19)]
max_age_student = max(students, key=lambda x:x[1])
print("年龄最大的学生是:", max_age_student[0])
输出
年龄最大的学生是: Jerry
在上面的示例中,我们使用了一个lambda函数来指定按照学生的年龄进行比较。max()函数会自动遍历序列中的元素,找到最大值,并返回对应的元素。
min()函数
min()函数用于返回给定参数的最小值,可以接收任意多个参数,也可以接收一个序列。
语法
min(iterable, *iterables, key=None, default=None)
- iterable — 一个用于迭代的序列。
- *iterables — 可选,一个或多个迭代器。
- key — 可选,用于比较的函数。
- default — 可选,如果所有的参数都为空,则返回default值。
示例1
numbers = [2, 7, 9, 14, 3, 8]
min_num = min(numbers)
print("最小值为:", min_num)
输出
最小值为: 2
示例2
students = [('Tom', 18), ('Jerry', 22), ('Amy', 17), ('Lucy', 19)]
min_age_student = min(students, key=lambda x:x[1])
print("年龄最小的学生是:", min_age_student[0])
输出
年龄最小的学生是: Amy
在上面的示例中,我们使用了一个lambda函数来指定按照学生的年龄进行比较。min()函数会自动遍历序列中的元素,找到最小值,并返回对应的元素。
总结
max()和min()函数可以方便快捷地找到序列中的最大和最小值,使用起来非常简单。同时,它们还支持自定义比较函数,这在需要根据特定规则进行比较的场景中非常有用。