2014-01-22 30 views

回答

2

size[a[0]]不應該工作,但size(a[0])應該。你可以簡單地看一下源np.size

def size(a, axis=None): 
    [docstring removed] 

    if axis is None: 
     try: 
      return a.size 
     except AttributeError: 
      return asarray(a).size 
    else: 
     try: 
      return a.shape[axis] 
     except AttributeError: 
      return asarray(a).shape[axis] 

當你傳遞一個列表,axis停留在None它的默認值和功能試圖讓a.size。由於這不存在,它會使用asarray(a)將列表變成一個數組,並獲得這樣的大小。在你的情況下,它會產生一個d型object的一維numpy陣列。

+0

哇。我的第一個問題發佈在這個論壇上,我真的得到了一個非常有見地的答案。謝謝! – SeaWind

相關問題