给定以下向量,
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 可能有帮助。有任何想法吗?谢谢!
原文由 Oliver Amundsen 发布,翻译遵循 CC BY-SA 4.0 许可协议
好的,我明白你的意思了,一行 Python 就足够了:
使用列表理解
Zip 函数将返回一个元组列表
列表理解是在“in”之后的列表上循环元素的快捷方式,并使用表达式评估元素,然后将结果返回到列表,您还可以添加要返回的结果的条件
此代码只返回所有压缩的对。
我们所做的是通过指定“if”后跟布尔表达式来为其添加条件
使用 Itertools
在 Python 中使用 单行 itertools.compress 来完成关闭此任务
itertools.compress 的解释,我想这对你的理解会很清楚: