我想得到c数组作为结果,但我不知道如何:
import numpy as np
a = xrange(10)
b = np.array([3,2,1,9])
c由不在b中的元素组成:
c = np.array([0,4,5,6,7,8])
答案 0 :(得分:5)
以下可能是一个更直接的解决方案:
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])
您可以在文档中找到numpy数组的所有类似集合的操作: http://docs.scipy.org/doc/numpy/reference/routines.set.html
答案 1 :(得分:2)
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)
。