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

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

Python,將 n × m numpy 數(shù)組與 n 大小的 numpy 數(shù)組進行比較

Python,將 n × m numpy 數(shù)組與 n 大小的 numpy 數(shù)組進行比較

回首憶惘然 2021-09-11 16:47:57
我正在做一個編程項目,但由于某種原因我很難受困。gradeList = [-3,0,2,4,7,10,12]    for i1 in range(np.size(grades,1)-1):        for i2 in range(np.size(grades,0)-1):            for i3 in range(len(gradeList)-1):                if grades[i1,i2] != gradeList[i3]:                    print(grades[i1,i2])                    print(i1,i2,i3)                    print("This is an error"+str(grades[i1,i2]))                else:                    print("FINE")我正在嘗試為我的gradeList 中的每個值檢查n × m 數(shù)組中的每個值,最終我想打印不在gradeList 中的n × m 數(shù)組中成績的位置。我收到以下錯誤代碼:IndexError: index 3 is out of bounds for axis 1 with size 3我的成績數(shù)組: grades = np.array([[  7.    7.    4. ],[ 12.   10.   10. ],[ -3.    7.    2. ],[ 10.   12.   12. ],[ 12.   12.   12. ],[ 10.   12.   12. ],[ -3.8   2.2  11. ],[ 20.   12.6 100. ],[  4.   -3.    7. ],[ 10.   10.   10. ],[  4.   -3.    7. ],[ 10.   10.   10. ],[ 10.   10.   10. ],[ 12.   12.   12. ],[ -3.   -3.   -3. ],[ 20.   12.6 100. ]])
查看完整描述

2 回答

?
qq_花開花謝_0

TA貢獻1835條經(jīng)驗 獲得超7個贊

您已經(jīng)交換了i1and的定義i2,這會導(dǎo)致您遇到錯誤。以下是修復(fù)代碼的方法:


for i1 in range(grades.shape[0]):

    for i2 in range(grades.shape[1]):

        for i3 in range(len(gradeList)):

            if grades[i1,i2] != gradeList[i3]:

                print(grades[i1,i2])

                print(i1,i2,i3)

                print("This is an error"+str(grades[i1,i2]))

            else:

                print("FINE")

在上面的代碼grades.shape[0]中相當(dāng)于np.size(grades, 0)在您的原始代碼中。thegrades.shape[0]是比較常用的成語。


此外,我已經(jīng)-1從您的范圍定義中刪除了所有調(diào)整。如果你有這些,它會阻止你的循環(huán)到達數(shù)組中的最后一個值。的行為range是它會在達到您設(shè)置的最大值之前停止一個值。


例如,list(range(len(gradeList)))將返回 的完整索引集gradeList:


[0, 1, 2, 3, 4, 5, 6]

而list(range(len(gradeList - 1)))將省略最后一個索引:


[0, 1, 2, 3, 4, 5]


查看完整回答
反對 回復(fù) 2021-09-11
?
素胚勾勒不出你

TA貢獻1827條經(jīng)驗 獲得超9個贊

我認為問題出在那里:


# i1 => [0,1]

# i2 => [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]

# i3 => [0, 1, 2, 3, 4, 5]

當(dāng)您調(diào)用時,grades[i1,i2]您可以擁有g(shù)rades[0,3]和超出范圍,因為該軸具有三個元素。


我想解決的辦法是改變 grades[i1,i2]對grades[i2,i1]地方出現(xiàn)(三次)。


查看完整回答
反對 回復(fù) 2021-09-11
  • 2 回答
  • 0 關(guān)注
  • 233 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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