Я хочу получить массив c в качестве результата, но я не знаю, как:
import numpy as np a = xrange(10) b = np.array([3,2,1,9])
c состоит из элементов a, которых нет в b:
c = np.array([0,4,5,6,7,8])
Возможно, более простым решением является следующее:
import numpy as np a = xrange(10) b = np.array([3,2,1,9]) c = np.setdiff1d(a,b)
Что приводит к:
In [7]: c Out[7]: array([0, 4, 5, 6, 7, 8])
Вы можете найти все подобные операции над множествами для массивов в документации: http://docs.scipy.org/doc/numpy/reference/routines.set.html
import numpy as np a = np.arange(10) b = np.array([3,2,1,9]) np.array(sorted(set(a) - set(b))) # array([0, 4, 5, 6, 7, 8])
ОБНОВЛЕНИЕ : работает с a = xrange(10) тоже.
a = xrange(10)