【发布时间】:2017-07-23 15:21:58
【问题描述】:
我有以下清单:
indices
>>> [21, 43, 58, 64, 88, 104, 113, 115, 120]
我希望此列表中这些值的每次出现 -1(如 20、42、57 等)从我拥有的 3D 数组“q”中归零。
我尝试过列表推导、for 和 if 循环(见下文),但我总是收到以下错误:
ValueError:具有多个元素的数组的真值是 模糊的。使用 a.any() 或 a.all()
我无法解决这个问题。
任何帮助都会很棒!
>>> for b in q:
... for u in indices:
... if b==u:
... b==0
>>> for u in indices:
... q = [0 if x==u else x for x in q]
【问题讨论】:
-
您希望它们被删除还是只是归零?为什么不比较
x == u-1? -
如果 q 是 3D 数组,则需要再嵌套一个
for循环 -
你在使用 numpy 吗?
-
是的,我正在使用 numpy。我想将索引中的每个值归零。 trincot,你能解释一下吗?