写一个函数找出一个整数数组中第二大的数 Numpy
时间: 2023-09-01 21:08:35 浏览: 96
Python numpy 点数组去重的实例
好的,以下是使用Numpy库实现找出一个整数数组中第二大的数的函数:
```python
import numpy as np
def find_second_largest(arr):
"""
找出一个整数数组中第二大的数
:param arr: 整数数组
:return: 第二大的数
"""
arr = np.array(arr)
if len(arr) < 2:
return None
elif len(arr) == 2:
return np.min(arr)
else:
max_num = np.max(arr)
arr = arr[arr != max_num]
return np.max(arr)
```
函数的实现思路是先将传入的数组转换为Numpy数组,判断数组长度,如果长度小于2,则返回None,如果长度为2,则返回最小值。否则,先求出数组中的最大值,然后将数组中的最大值删除,再求剩余元素中的最大值,最后返回这个最大值即为第二大的数。
函数使用示例:
```python
arr = [1, 2, 3, 4, 5]
second_largest = find_second_largest(arr)
print(second_largest) # 4
```
阅读全文