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

Python中的max()和min()函数的使用方法有哪些?

发布时间:2023-06-15 23:14:09

在Python中,max()和min()函数都是用来求取一个迭代对象中的最大值或最小值。它们可以用于任何可迭代对象,包括列表、元组、字典、字符串、集合等。

max()函数

max()函数主要用来求取一个可迭代对象中的最大值。它的常见用法如下:

1. 求取数字型序列的最大值

可以传入一个数字型序列作为参数,如列表、元组等:

a = [1, 5, 2, 8, 3]
print(max(a))

输出结果为:

8

也可以将多个参数传入:

print(max(1, 5, 2, 8, 3))

输出结果同样为8。

2. 求取字符串序列的最大值

如果传入的是字符串序列,max()函数会按照字典序比较元素,返回最大的字符串:

a = ['apple', 'banana', 'cherry', 'durian']
print(max(a))

输出结果为:

durian

3. 求取字典中的最大值

如果传入的是字典类型,max()函数默认会按照字典中的键进行比较,并返回具有最大键的键值对:

a = {'apple': 3, 'banana': 2, 'cherry': 5, 'durian': 4}
print(max(a))

输出结果为:

durian

如果想要返回具有最大值的键值对,可以使用字典的items()方法把字典转换为包含键值对的元组列表,然后指定key参数:

a = {'apple': 3, 'banana': 2, 'cherry': 5, 'durian': 4}
print(max(a.items(), key=lambda x: x[1]))

输出结果为:

('cherry', 5)

上面的lambda表达式指定了比较的关键字为键值对的第二个元素,即值。

min()函数

min()函数和max()函数的用法相似,只是求取的是最小值。常见用法如下:

1. 求取数字型序列的最小值

同样可以传入一个数字型序列作为参数,如列表、元组等:

a = [1, 5, 2, 8, 3]
print(min(a))

输出结果为:

1

2. 求取字符串序列的最小值

如果传入的是字符串序列,min()函数会按照字典序比较元素,返回最小的字符串:

a = ['apple', 'banana', 'cherry', 'durian']
print(min(a))

输出结果为:

apple

3. 求取字典中的最小值

如果传入的是字典类型,min()函数默认会按照字典中的键进行比较,并返回具有最小键的键值对:

a = {'apple': 3, 'banana': 2, 'cherry': 5, 'durian': 4}
print(min(a))

输出结果为:

apple

同样,如果想要返回具有最小值的键值对,可以使用items()方法和key参数:

a = {'apple': 3, 'banana': 2, 'cherry': 5, 'durian': 4}
print(min(a.items(), key=lambda x: x[1]))

输出结果为:

('banana', 2)

总结

max()和min()函数非常方便,可用来快速求取一个可迭代对象中的最大值或最小值。需要注意的是,对于非数字型序列,max()和min()函数的比较规则是按照字典序进行比较,而非元素本身的大小,因此需要格外注意。另外,max()和min()函数可以接受多个参数,用法类似于内置函数sum()。