如何使用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参数,该参数接受一个函数作为输入。
