在python中写出这段程序:找出序列类型的最大值、最小值并返回
时间: 2024-02-06 10:12:07 浏览: 118
当序列元素为数字时,可以使用内置函数 `max()` 和 `min()` 来找到最大值和最小值。如果序列元素不是数字,需要指定 key 参数,告诉函数如何比较大小。
下面是一个示例程序:
```python
def find_extremes(seq):
"""
找到序列类型的最大值、最小值并返回
"""
try:
# 如果元素是数字,直接使用 max() 和 min() 函数
return max(seq), min(seq)
except TypeError:
# 如果元素不是数字,指定 key 参数
return max(seq, key=lambda x: str(x)), min(seq, key=lambda x: str(x))
```
在这个程序中,我们使用了 `try` 和 `except` 语句来处理可能出现的异常。如果序列元素是数字,`max()` 和 `min()` 函数会正常工作,程序不会出错。如果序列元素不是数字,则会抛出 TypeError 异常。我们在 `except` 语句中使用了 `lambda` 表达式,将每个元素转换为字符串后再比较大小。这样就可以找到序列类型的最大值和最小值了。
示例用法:
```python
>>> seq = [1, 2, 3, 4, 5]
>>> find_extremes(seq)
(5, 1)
>>> seq = ['a', 'bb', 'ccc', 'dddd']
>>> find_extremes(seq)
('dddd', 'a')
```
阅读全文