在我的代码中有一行,它会在numpy.ndarray
类型中查找设置为1的值:
neg_samples = np.where(Y1[0, :, -1] == 1)
,它使用print(neg_samples)
这样的元组返回:
(array([ 0, 1, 2]),)
但有时数组为空,结果如下:
(array([], dtype=int64),)
我需要检查此数组是否为空。我尝试过:
if len(neg_samples) > 0:
neg_samples = neg_samples[0]
else:
neg_samples = []
但是每次,每次都继续,所以我决定检查这个neg_samples
的长度,看起来每次,无论是(array([], dtype=int64),)
还是(array([ 0, 1, 2(...), 199, 200]),)
,它总是{{ 1}}。
使用len(neg_samples)=1
引发
if not all(neg_samples):
我认为问题在于数组在元组内部。如何检查该元组中的该数组是否为空?
答案 0 :(得分:1)
In [54]: a = (array.array('d', []),)
In [55]: len(a)
Out[55]: 1
In [56]: len(a[0])
Out[56]: 0
检查镜头,然后再继续