python - 查找大于 x 的元素的索引

标签 python indexing logical-operators indices

给定以下向量,

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/

相关文章:

r - NA == 1 检查返回 NA

python - 带有外键字段列表的 Django 表单

python - 更改 df 的格式并删除不需要的字符

ruby - 在 Ruby 中,除非特殊情况,我们是否应该始终使用 "&&"、 "||"而不是 "and"、 "or"?

python - 将多级索引的第一级旋转为多级列的第一级

date - ElasticSearch日期格式,使用严格错误

javascript - !< in Javascript - 如何设置我的条件仅在用户未满 18 岁时运行?

python - 类型错误 : cannot convert the series to <class 'float' >

python - Cron 无法与 python 子进程一起使用

indexing - n1ql 中的 Order By 索引