📅  最后修改于: 2023-12-03 15:34:12.618000             🧑  作者: Mango
在开发过程中,常常会遇到需要查找数组中最大的几个数字的情况。本文将介绍如何使用 Python 编写程序来查找数组中最大的 3 个数字。
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
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
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 个数字。具体使用哪种方法,可以根据实际场景和数组的大小来进行选择。