2014-11-05 43 views
0

我創建了以下功能:IndexError:無效的指數標量

def c_min(a,b): 
    result= [x - y for x in a for y in b] 
    min=np.min(result) 
    return min 

我創建了一個測試文件有兩個列表:

a=[1,2,3] and b=[4,5,6] 

當我跑我得到正確的功能結果。

但是,當我在我的初始代碼中運行函數時,我在標題錯誤中提到了上述內容。 必須注意的是,初始代碼中的函數應用於兩個數組中。一個大小爲1,它是numpy.float64,另外3個是numpy.ndarray。 爲什麼它可以應用於列表而不是數組?

+1

你可以發佈引發此錯誤的輸入嗎? – 2014-11-05 13:09:19

+0

你不能迭代標量 – wim 2014-11-05 13:15:30

回答

1

ab需要爲numpy.ndarray。如果其中一個是標量,那麼for ... in ...構造將失敗。

0

正如在帖子中提到的使用numpy.arraynumpy.ndarray這個問題可以解決。