Чтобы избежать явного преобразования списка a
в numpy.ndarray
, вы можете напрямую вызывать операторы сравнения numpy
:
np.all(np.equals(a, 0))
Однако, если ваши данные уже являются списком Pythonпросто используйте Python all()
, чтобы получить тот же результат за долю времени, которое требуется numpy
для вычисления all()
:
In [1]: import random
In [2]: import numpy as np
In [3]: a = [random.random() for _ in range(1000000)]
In [4]: %timeit all(x == 0 for x in a)
615 ns ± 21.8 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)
In [5]: %timeit np.all(np.equal(a, 0))
24.2 ms ± 2.04 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)