这里发生了什么?如何检查a
的长度是多少?
>>> import numpy as np
>>> a = np.array(3)
>>> hasattr(a , '__len__')
True
>>> len(a)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: len() of unsized object
这里,python认为a
没有长度:
>>>a.shape
()
我正在使用python 2.7.3和numpy 1.8.0。
感谢。
答案 0 :(得分:1)
import numpy as np
def make_ary(item):
if not isinstance(item, list):
ary = np.array([item])
else:
ary = np.array(item)
ary = ary.ravel()
return ary
然后:
a = [1,2,3]
b = 3
c = [ [1] , [2] ,[3] ]
>> make_ary(a)
array([1, 2, 3])
>> make_ary(b)
array([3])
>> make_ary(c)
array([1, 2, 3])