随意生成一个(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

浙公网安备 33010602011771号