Python max()函数

本文详细介绍了Python中max()函数的用法,包括取多个参数中的最大值、从可迭代对象中取最大值、处理空可迭代对象以及利用key参数自定义最大值的判断标准。通过实例展示了max()函数的强大灵活性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

描述:

函数功能为取传入的多个参数中的最大值,或者传入的可迭代对象元素中的最大值。

语法:

max(iterable, *[, key, default])
max(arg1, arg2, *args[, key])

参数介绍:

默认数值型参数,取值大者;

字符型参数,取字母表排序靠后者。

key---可做为一个函数,用来指定取最大值的方法。

default---用来指定最大值不存在时返回的默认值。

arg1---字符型参数/数值型参数,默认数值型

返回值:

 

下面例子展示max()函数使用方法

1、传入多个参数取最大值(元组、列表、集合)

print(max(1,2,3,4,5,6)) #1、传入多个参数取最大值

输出

6

2、传入可迭代对象时,取其元素最大值

s = '12345'  #2、传入可迭代对象时,取其元素最大值
print(max(s))

输出

5

3、传入可迭代对象为空时,必须指定参数default,用来返回默认值

print(max((),default=1))# 3、传入可迭代对象为空时,必须指定参数default,用来返回默认值

print(max(()))#报错

输出

1
Traceback (most recent call last):
  File "D:/Pythonproject/111/min.py", line 8, in <module>
    print(max(()))#报错
ValueError: max() arg is an empty sequence

4、传入命名参数key,其为一个函数,用来指定取最大值的方法(灵活运用,根据字典的键值)

s = [{'name': 'li', 'age': 24},{'name': 'he', 'age': 45} ]
b = max(s, key=lambda x: x['age'])
print(b)

输出

{'name': 'he', 'age': 45}

Python min()函数与该函数功能相反。

本期max()函数就学到这里。

### Python `max()` 函数使用方法 #### 基本语法 `max()` 是一个用于查找最大值的内置函数。基本形式如下: ```python max(iterable, *[, key, default]) max(arg1, arg2, *args[, key]) ``` 对于两个或更多参数,返回最大的那个;如果提供的是单一可迭代对象,则返回该序列中最大的项[^1]。 #### 多个参数比较 当传递多个独立参数给 `max()` 时,它会直接对比这些参数并返回其中的最大者。例如: ```python result = max(10, 20, 30) # 返回30 print(result) ``` #### 可迭代对象元素比较 也可以向 `max()` 提供单个可迭代对象作为输入来找到其内部的最大元素: ```python numbers = [8, 2, -2, 7, 9] maximum_value = max(numbers) # 返回9 print(maximum_value) ``` #### 使用 `key` 参数自定义比较逻辑 通过指定 `key` 参数,可以根据特定条件计算每个项目的优先级来进行排序。这允许更复杂的比较方式,比如基于字符串长度或其他属性: ```python words = ["apple", "banana", "cherry"] longest_word = max(words, key=len) # 'banana' print(longest_word) tuples_list = [(1,'a'), (2,'aa'), (3,'aaa')] largest_tuple_by_second_element = max(tuples_list, key=lambda item:item[1]) # ('aaa', 3),这里假设按第二个元素大小决定最大值 print(largest_tuple_by_second_element) ``` #### 设置默认值防止异常抛出 为了处理可能为空的情况,在调用 `max()` 的时候还可以设置 `default` 参数。这样即使传入了一个空列表也不会引发错误而是返回设定好的默认值: ```python empty_sequence = [] safe_maximum = max(empty_sequence, default=0) # 当iterable为空时返回0 print(safe_maximum) ```
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

软件测试李同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值