【发布时间】:2020-06-09 10:39:23
【问题描述】:
我有一个项目,我必须从某个数组中删除活动并将其存储在另一个数组中。
例如:
select_act = [2]
q_active = [2, 3]
到目前为止,我的代码如下所示:
for ele in select_act:
new_q_active = numpy.delete(q_active, numpy.where(ele))
print(new_q_active)
Output: new_q_active = [3]
目标是删除q_active 中的元素(如果它们已经在select_act 中)。我上面的代码适用于给定的示例。但是,假设q_active 中的所有活动都已经在select_act 中,
q_active = [2, 3]
select_act = [2, 3]
我不断收到的output 保持不变:
new_q_active = []
有什么建议我为什么一直这样吗?任何帮助,将不胜感激!谢谢!
【问题讨论】:
-
值得询问您是否真的关心订购。如果没有,那么
set(q_active) - set(select_act)将是实现这一目标的有效方法。 (可以使用list()将其转换回列表,但顺序将是未定义的。)
标签: python arrays python-3.x numpy