欢迎访问宙启技术站
智能推送

如何使用Python内置函数max()和min()查找序列的最大和最小值?

发布时间:2023-07-02 04:41:32

Python内置函数max()和min()是用来查找序列中的最大和最小值的。序列可以是列表、元组、字符串或任何可迭代对象。这两个函数都接受一个可迭代对象作为参数,并返回其中的最大或最小值。

max()函数的用法如下:

max(iterable, *[, key, default])

- iterable: 必需,一个可迭代对象,如列表、元组或字符串。

- key: 可选,一个用来比较元素的函数。默认为None,表示使用元素本身进行比较。

- default: 可选,当可迭代对象为空时返回的值。如果不指定该参数,则当可迭代对象为空时,函数抛出ValueError。

min()函数的用法与max()函数类似:

min(iterable, *[, key, default])

以下是一些使用max()和min()函数的示例:

示例一:使用max()和min()函数查找列表中的最大和最小值

numbers = [5, 8, 3, 2, 1, 9, 4, 6, 7]
max_number = max(numbers)
min_number = min(numbers)
print("最大值:", max_number)
print("最小值:", min_number)

输出:

最大值: 9
最小值: 1

示例二:使用max()和min()函数查找字符串中的最大和最小字符

string = "Hello, World!"
max_char = max(string)
min_char = min(string)
print("最大字符:", max_char)
print("最小字符:", min_char)

输出:

最大字符: r
最小字符:  

示例三:使用key参数自定义比较函数

students = [("Alice", 22), ("Bob", 19), ("Charlie", 20), ("David", 18)]
max_age_student = max(students, key=lambda x: x[1])
min_age_student = min(students, key=lambda x: x[1])
print("年龄最大的学生:", max_age_student)
print("年龄最小的学生:", min_age_student)

输出:

年龄最大的学生: ('Alice', 22)
年龄最小的学生: ('David', 18)

在上述示例中,我们使用了lambda函数作为key参数,该函数返回序列元素的第二个元素,即学生的年龄。这样就可以根据年龄来比较学生对象,从而找到年龄最大和最小的学生。

总结:

max()和min()函数是Python内置的用于查找序列最大和最小值的函数。它们非常简单易用,只需传入一个可迭代对象作为参数即可。如果需要自定义比较函数,可以使用key参数,该参数接受一个函数作为输入。