1
我有一个结构化的numpy
阵列:NumPy的:检查是否字段存在
>>> import numpy
>>> a = numpy.zeros(1, dtype = [('field0', 'i2'), ('field1', 'f4')])
然后我开始找回一些值。但是,我不知道,如果我的数组包含某个字段。因此,如果我试图达成一个不存在的场,我果然收到IndexError
:
>>> a[0]['field0']
0
>>> a[0]['field2']
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: invalid index
我当然可以去try-except
;然而,这将有可能掩盖了一些错误,如IndexError
不指定,在哪个级别,我打非现有的索引:
>>> try:
... a[9999]['field2']['subfield3']
... except IndexError:
... print('Some index does not exist')
...
Some index does not exist
我也试图接近numpy
数组作为列表,但这不起作用:
>>> if 'field0' in a[0]:
... print('yes')
... else:
... print('no')
...
no
因此,问题:有没有一种方法来检查,如果某一领域的结构性numpy
数组存在?