python找出数组中最大的3个数并输出下标
时间: 2023-06-05 13:04:58 浏览: 277
可以使用以下代码实现:
```python
def find_max_3(array):
# 初始化最大的三个数为数组中的前三个数
max1, max2, max3 = array[0], array[1], array[2]
idx1, idx2, idx3 = 0, 1, 2
for i in range(3, len(array)):
if array[i] > max1:
# 更新最大的三个数及其下标
max3 = max2
max2 = max1
max1 = array[i]
idx3 = idx2
idx2 = idx1
idx1 = i
elif array[i] > max2:
# 更新第二大和第三大的数及其下标
max3 = max2
max2 = array[i]
idx3 = idx2
idx2 = i
elif array[i] > max3:
# 更新第三大的数及其下标
max3 = array[i]
idx3 = i
# 输出最大的三个数的下标
print("最大的三个数的下标分别为:", idx1, idx2, idx3)
# 测试
array = [9, 6, 7, 2, 1, 8, 4, 5, 3]
find_max_3(array) # 结果为:最大的三个数的下标分别为: 0 5 2
```
注意:此代码中并没有对数组中的数进行去重,如果有重复的最大数,则输出下标可能不准确。