Python max()和min()寻找极值

  • Post category:Python

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()函数可以方便快捷地找到序列中的最大和最小值,使用起来非常简单。同时,它们还支持自定义比较函数,这在需要根据特定规则进行比较的场景中非常有用。