第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我試圖確定矩陣的最大元素,但不斷收到錯誤(For 循環(huán)是必須的)

我試圖確定矩陣的最大元素,但不斷收到錯誤(For 循環(huán)是必須的)

汪汪一只貓 2024-01-16 15:19:40
a = np.random.randint(1,100,(5,5))max=a[0]for n in range(1,100):    if(a[n] > max):         max = a[n]print(max)當(dāng)我運(yùn)行它時;它給出了這個錯誤if(a[n] > max):ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()我嘗試修復(fù)它,但它給出了另一個錯誤a = np.random.randint(1,100,(5,5))max=a[0]for n in range(1,100):    if(a[n].all > max):        max = a[n]print(max)當(dāng)我再次運(yùn)行時會彈出此錯誤if(a[n].all > max):TypeError: '<' not supported between instances of 'int' and 'builtin_function_or_method'
查看完整描述

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)


查看完整回答
反對 回復(fù) 2024-01-16
?
ibeautiful

TA貢獻(xiàn)1993條經(jīng)驗 獲得超6個贊

您應(yīng)該盡可能避免 for 循環(huán),讓我們嘗試一下numpy.ndarray.max()函數(shù):


max = a.max()

print(max)


查看完整回答
反對 回復(fù) 2024-01-16
  • 2 回答
  • 0 關(guān)注
  • 184 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號