python取数组里的最大值最小值
时间: 2023-10-15 16:02:02 浏览: 46
你可以使用 Python 内置的 `max` 和 `min` 函数来获取数组中的最大值和最小值。示例如下:
```python
arr = [1, 2, 3, 4, 5]
max_val = max(arr)
min_val = min(arr)
print(f"最大值:{max_val},最小值:{min_val}")
```
输出结果为:
```
最大值:5,最小值:1
```
需要注意的是,如果是字符串数组或者其他类型的数组,`max` 和 `min` 函数会比较每个元素的大小,并返回对应的最大值或最小值。如果数组中存在不同类型的元素,那么会抛出一个 `TypeError` 异常。
相关问题
python怎么求数组最大值最小值
要求数组的最大值和最小值,可以使用Python内置的max()和min()函数。
例如,对于一个数组a,可以使用以下代码找到它的最大值和最小值:
```
a = [1, 2, 3, 4, 5]
max_value = max(a)
min_value = min(a)
print("最大值为:", max_value)
print("最小值为:", min_value)
```
输出结果为:
```
最大值为: 5
最小值为: 1
```
其中,max()函数返回数组a中的最大值,min()函数返回数组a中的最小值。
用分治策略求解数组的最大值最小值
分治法是一种解决问题的思想,它将问题分解成若干个小的问题,然后递归求解这些小问题,最终将这些小问题的结果合并起来得到原问题的解。对于求解数组的最大值和最小值,可以采用分治法来实现。
具体实现思路如下:
1. 将数组分成两部分,分别求出左半部分的最大值和最小值,以及右半部分的最大值和最小值。
2. 将左半部分的最大值和右半部分的最大值进行比较,取其中较大的一个作为数组的最大值。
3. 将左半部分的最小值和右半部分的最小值进行比较,取其中较小的一个作为数组的最小值。
4. 返回最大值和最小值。
代码实现如下:
```python
def find_max_min(arr, left, right):
# 如果数组只有一个元素,直接返回该元素作为最大值和最小值
if left == right:
return arr[left], arr[left]
# 如果数组只有两个元素,比较它们的大小并返回最大值和最小值
if left + 1 == right:
if arr[left] > arr[right]:
return arr[left], arr[right]
else:
return arr[right], arr[left]
# 如果数组有多个元素,将数组分成两部分,分别求出左半部分和右半部分的最大值和最小值
mid = (left + right) // 2
left_max, left_min = find_max_min(arr, left, mid)
right_max, right_min = find_max_min(arr, mid+1, right)
# 比较左半部分的最大值和右半部分的最大值,取其中较大的一个作为数组的最大值
if left_max > right_max:
max_val = left_max
else:
max_val = right_max
# 比较左半部分的最小值和右半部分的最小值,取其中较小的一个作为数组的最小值
if left_min < right_min:
min_val = left_min
else:
min_val = right_min
return max_val, min_val
```
调用函数:
```python
arr = [5, 3, 8, 2, 9, 1]
max_val, min_val = find_max_min(arr, 0, len(arr)-1)
print("最大值为:", max_val)
print("最小值为:", min_val)
```
输出结果:
```
最大值为: 9
最小值为: 1
```