max()函数

文章介绍了Python内置函数`max()`的使用,包括如何通过`key`参数指定比较条件,以及`lambda`函数的概念和用法。示例展示了如何利用这些工具找到列表中最大值或按特定属性排序。在给定的名字列表中,通过`max(names,key=len)`可以找到最长的字符串。
摘要由CSDN通过智能技术生成

`max()` 是 Python 内置函数之一,在给定的可迭代对象中返回最大值。

语法:`max(iterable, *[, key, default])`

参数说明:
- `iterable`: 必需,表示一个可迭代对象;
- `*`: 表示后面还可以跟零个或多个参数;
- `key`: 可选,是一个函数,用于指定比较的关键字;
- `default`: 可选,如果给定可迭代对象为空时,则返回该值。

例子:

```python
>>> numbers = [1, 2, 3, 4, 5]
>>> max_number = max(numbers)
>>> print(max_number)
5

>>> students = [("Amy", 20), ("Tom", 18), ("Lucy", 22)]
>>> oldest_student = max(students, key=lambda student: student[1])
>>> print(oldest_student[0])
'Lucy'
```

在第二个例子中,我们通过 `key` 参数传递了一个 lambda 函数,用于指定比较的条件为元组的第二个元素。这样,函数会找到学生中年龄最大的那个,即 ('Lucy', 22),然后我们使用取下标的方式获取其名字。

`lambda` 函数是一个可以在一行内定义并使用的简单函数,也被称为匿名函数。它支持传递任意数量的参数,并且只能包含一个表达式,该表达式作为函数的返回值。

语法: `lambda arguments: expression`

其中:
- `arguments` 是一个或多个函数的参数,用逗号隔开;
- `expression` 是由参数构成的表达式,是 `lambda` 函数的返回值。

例子:

```python
# 定义常规函数
def add(x, y):
    return x + y

# 使用 lambda 定义函数
add_lambda = lambda x, y: x + y

# 调用函数
result = add(2, 3)
print(result)       # 输出 5

result_lambda = add_lambda(2, 3)
print(result_lambda) # 输出 5
```

在上述例子中,我们演示了如何使用 `def` 关键字定义一个常规函数 `add` 和使用 `lambda` 定义一个具有相同功能的简单函数 `add_lambda`。两者都接受两个参数并返回它们的和,但是 `lambda` 函数在更短的代码行上实现了相同的功能。`lambda` 函数通常用于需要临时定义和使用简单函数的场景,而不必显示地编写完整的函数定义。

例题

names = ["Ann", "Charlotte", "John", "Bill","AngelaBaby"] 要求输出人物名字最长的字符串。 以下哪个程序段是正确的?

A longest = max(names, key = length)

B longest = min(names, key = len,reverse=True)

C longest = max(names, key = len)

D longest = max(names)

可以正确输出人物名字最长的字符串的程序是 C,即:

```
longest = max(names, key=len)
```

解释:我们需要比较每个字符串及其长度,找到最长的字符串。`max()` 函数用于寻找可迭代对象中指定条件(如值、长度等)的最大元素。在本例中,我们使用了 `key=len` 参数来指定比较的条件为字符串的长度。因此,上述代码可以返回 names 列表中的最长字符串。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值