给定以下向量,
a = [1, 2, 3, 4, 5, 6, 7, 8, 9]
我需要识别元素大于 4 的“a”的索引,如下所示:
idx = [3, 4, 5, 6, 7, 8]
“idx”中的信息将用于从另一个列表X中删除元素(X与“a”的元素数量相同):
del X[idx] #idx is used to delete these elements in X. But so far isn't working.
我听说 numpy 可能会有所帮助。有任何想法吗? 谢谢!
最佳答案
>>> [i for i,v in enumerate(a) if v > 4]
[4, 5, 6, 7, 8]
enumerate
返回数组中每个项目的索引和值。因此,如果值 v
大于 4
,则将索引 i
包含在新数组中。
或者您可以就地修改您的列表并排除 4
以上的所有值。
>>> a[:] = [x for x in a if x<=4]
>>> a
[1, 2, 3, 4]
关于python - 查找大于 x 的元素的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13717463/