gpt4 book ai didi

python - len() 与 numpy 数组上的 __len__ 相比

转载 作者:太空宇宙 更新时间:2023-11-04 05:58:27 33 4
gpt4 key购买 nike

这是怎么回事?如何检查 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。

谢谢。

最佳答案

嗯,也许我在这里遗漏了什么,但你为什么不检查类型?

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])

关于python - len() 与 numpy 数组上的 __len__ 相比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26475863/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com