Python从数组中排除索引

时间:2017-12-01 11:48:51

标签: python arrays numpy selection

我有一个数组

a=[0, 10, 20, 30, 40, 50, 60] 

我用

选择了第二和第三个元素
a[[1,2]] 

获得

array([10, 20])

除了我已选择的元素外,如何选择a的其他元素?

也就是说,我想获得:

array([0, 30, 40, 50, 60])

逻辑上,应该像

a[![1,2]]

2 个答案:

答案 0 :(得分:0)

像这样:

a=[0, 10, 20, 30, 40, 50, 60]

b = a[1:3]
c =[x for x in a if x not in b]

print(a)
print(b)
print(c)

输出:

[0, 10, 20, 30, 40, 50, 60]
[10, 20]
[0, 30, 40, 50, 60]

如果顺序无关紧要,您可以将列表填入集合中并使用these set operationsyourSet.union(otherSet)yourSet.intersect(otherSet),`yourSet.difference(otherSet)等

答案 1 :(得分:0)

对于python 2.7,最简单的解决方案是:

a=[0, 10, 20, 30, 40, 50, 60]
c=[1,2]
values = [a[i] for i, x in enumerate(a) if i not in c]
print values
[0, 30, 40, 50, 60]