2 回答

TA貢獻(xiàn)1752條經(jīng)驗 獲得超4個贊
您的第一個錯誤是因為它a[n]是一個列表(因為您的矩陣是二維的)。
你的第二個錯誤是因為a[n].all()是一個函數(shù),而不是一個屬性 - 因此(). 另外,如果第 ' 行中的所有值n都非零(即 true),它只會返回 True - 這不是您想要的。
要找到整個矩陣的最大值,您需要執(zhí)行一些嵌套循環(huán)(或展平矩陣并按照您的方式執(zhí)行單個循環(huán))。嘗試:
for i in range(5):
for j in range(5):
if a[i][j] > max_val:
max_val = a[i][j]
您還需要將初始最大值更改為二維矩陣的第一個值,因此max_val = a[0][0]。
但是,既然您正在使用numpy,那就這樣做吧np.amax(a)。
完整代碼應(yīng)該是:
a = np.random.randint(1,100,(5,5))
max_val = a[0][0]
for i in range(5):
for j in range(5):
if a[i][j] > max_val:
max_val = a[i][j]
print(max_val)

TA貢獻(xiàn)1993條經(jīng)驗 獲得超6個贊
您應(yīng)該盡可能避免 for 循環(huán),讓我們嘗試一下numpy.ndarray.max()函數(shù):
max = a.max()
print(max)
添加回答
舉報