随意生成一个(4,4)的二维数组,找出最大的三个元素及其坐标

随意生成一个(4,4)的二维数组,找出最大的三个元素及其坐标,将结果以如下形式输出:

解题思路

首先要保证数据的随机性就不能不能使用arange生成范围数组然后重塑数组的形状,使用np的内置方法random.randint()函数可以实现随机效果。然后将数组展开成一维数组排序,最后重新改变形状为4 * 4 的二维数组,遍历这个数组,按格式输出即可。

代码实现

import numpy as np
array = np.random.randint(1,15,size = [4,4])
print("原随机元数组:\n",array)
array = array.ravel()
array.sort()
array = array.reshape(4,4)
print("排序后的数组:\n",array)
times = 0
cout = 1
print("最终结果:")
for i in range(len(array)):
    for j in range(len(array[0])):
        times+=1
        if(times > len(array) * len(array[0]) -3):
            print("第个{3}最大值{{({0},{1}):{2}}}".format(i,j,array[i][j],cout),end = ' ')
            cout += 1
    
posted @ 2023-02-23 23:44  蠢蛋快跑  阅读(386)  评论(0)    收藏  举报