Проблема с использованием функции numpy
, подобной этой, заключается в том, что она сразу преобразует итерируемое в объект np.ndarray
.
Следовательно, ваше возвращаемое значение будет частью этой np.ndarray
взгляните на следующий пример
In [472]: list(np.nditer([[None, None], [None, None]], flags = ['refs_ok']))
Out[472]:
[(array(None, dtype=object), array(None, dtype=object)),
(array(None, dtype=object), array(None, dtype=object))]
In [473]: list(np.nditer([[None, None], [None, None]], flags = ['refs_ok']))[0][0]
Out[473]: array(None, dtype=object)
Если вы хотите получить необработанный элемент из массива 0 100 * *, используйте метод .tolist()
.помните, что, поскольку вы не выполняете итерации числовых типов, нет смысла вводить всю эту сложность numpy
и накладные расходы, правильный способ сделать это - https://stackoverflow.com/a/52316861/4013571