Python:快速获取给定的不同列表中列表中所有元素的位置

时间:2015-08-10 20:31:31

标签: python arrays list search indexing

我有一个长度为10的数字列表,比如说

L = [1,2,3,4,5,6,7,8,9,0]

然后,我有一个大小为35 * 10的矩阵:

  • L[0](值1)可以在矩阵的第一列中找到
  • L[1](值2)可以在矩阵的第二列中找到

我想在给定矩阵的相应列中L中的每个值的索引。

我知道如何为一个值执行此操作,但是如果列表L非常长并且矩阵很大,则可能很慢,因此想知道是否有更快的方法来执行此操作。< / p>

1 个答案:

答案 0 :(得分:1)

请参阅docs page

L = [1,2,3,4,5,6,7,8,9,0]
a = np.random.ranint(0,50,(35,10))

# identify location of value in array that are in L
ix = np.in1d(a.ravel(), L).reshape(a.shape)

现在您只需确定如何处理新识别的索引!

通过这个,我的意思是你可以删除&#34;坏&#34;值     a [ix == False] = np.NAN

或对&#34; good&#34;进行操作价值独家     a [ix] * = 25