📜  python 查找数组中最大的 3 个数字 - Python (1)

📅  最后修改于: 2023-12-03 15:34:12.618000             🧑  作者: Mango

Python 查找数组中最大的 3 个数字

在开发过程中,常常会遇到需要查找数组中最大的几个数字的情况。本文将介绍如何使用 Python 编写程序来查找数组中最大的 3 个数字。

1. 使用内置函数

Python 的内置函数 max() 可以用于查找数组中的最大值。我们可以先使用 max() 查找最大值,再将其从数组中移除,重复此过程三次即可得到数组中最大的 3 个数字。

arr = [1, 5, 9, 3, 7, 8, 6, 2, 4]
max1 = max(arr)
arr.remove(max1)
max2 = max(arr)
arr.remove(max2)
max3 = max(arr)
print("数组中最大的 3 个数字分别为:", max1, max2, max3)

输出结果:

数组中最大的 3 个数字分别为: 9 8 7
2. 使用heapq模块

Python 的 heapq 模块提供了自然排序的 heappushpop()nlargest() 函数用于在数组中查找最大的几个数字。

import heapq

arr = [1, 5, 9, 3, 7, 8, 6, 2, 4]
max1, max2, max3 = heapq.nlargest(3, arr)
print("数组中最大的 3 个数字分别为:", max1, max2, max3)

输出结果与上一种方法相同:

数组中最大的 3 个数字分别为: 9 8 7
3. 使用sorted函数

Python 的内置函数 sorted() 可以返回排序后的数组。我们可以将数组进行逆序排序,再获取排序后的前三个数。

arr = [1, 5, 9, 3, 7, 8, 6, 2, 4]
arr_sorted = sorted(arr, reverse=True)
max1, max2, max3 = arr_sorted[:3]
print("数组中最大的 3 个数字分别为:", max1, max2, max3)

输出结果:

数组中最大的 3 个数字分别为: 9 8 7

以上三种方法都可以用来查找数组中最大的 3 个数字。具体使用哪种方法,可以根据实际场景和数组的大小来进行选择。