【发布时间】:2020-04-06 17:55:06
【问题描述】:
在 np 中查找数字索引的最快方法。 Python中的数组是什么?
假设我们有一个从 0 到 20 的数字列表,我们想知道数字 2 和 5 的索引
【问题讨论】:
-
你试过什么?你量过时间吗?分析器显示什么?
标签: python
在 np 中查找数字索引的最快方法。 Python中的数组是什么?
假设我们有一个从 0 到 20 的数字列表,我们想知道数字 2 和 5 的索引
【问题讨论】:
标签: python
规范的方法是使用 numpy 的 where 方法:
a = np.array(range(20))
np.where((a == 2) | (a == 5))
请注意,为了组合(a == 2) 和(a == 5) 这两个术语,我们需要按位或运算符|。原因是(a == 2)和(a == 5)都返回了一个dtype('bool')的numpy数组:
>>> a == 2
array([False, False, True, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False])
>>> (a == 5)
array([False, False, False, False, False, True, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False])
>>> (a == 2) | (a==5)
array([False, False, True, False, False, True, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False])
【讨论】: