【发布时间】:2013-10-23 18:30:59
【问题描述】:
我有一个整数数组,想找出该数组与多个值列表中的任何值相等的位置。
这可以通过单独处理每个值或在循环中使用多个“或”语句来轻松完成,但我觉得必须有更好/更快的方法来做到这一点。我实际上正在处理大小为4000 x 2000 的数组,但这里是问题的简化版本:
fake = arange(9).reshape((3,3))
array([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
want = (fake==0) + (fake==2) + (fake==6) + (fake==8)
print want
array([[ True, False, True],
[False, False, False],
[ True, False, True]], dtype=bool)
我想要的是一种从涉及fake 和值列表[0, 2, 6, 8] 的单个命令中获取want 的方法。
我假设有一个包已经包含了这个,这比我在 Python 中编写一个带有循环的函数要快得多。
【问题讨论】: