如何在数组中查找数组的索引

用户名

我以如下所示的方式创建了一个数组;代表3对坐标。我的问题是我似乎无法找到数组中一对特定坐标的索引。

import numpy as np

R = np.random.uniform(size=(3,2))

R

Out[5]: 
array([[ 0.57150157,  0.46611662],
   [ 0.37897719,  0.77653461],
   [ 0.73994281,  0.7816987 ]])

R.index([ 0.57150157,  0.46611662])

返回以下内容:

AttributeError: 'numpy.ndarray' object has no attribute 'index'

我尝试执行此操作的原因是为了可以在for循环中扩展带有坐标对索引的列表。

例如

v = []
for A in R:
v.append(R.index(A)) 

我只是不确定为什么索引功能不起作用,并且似乎无法找到解决方法。

我是编程新手,所以如果这看起来很废话,请原谅。

克林特·鲍威尔(Clint Powell)

您可以通过将内部数组(坐标)转换为元组来获得所需的结果。

R = map(lambda x: (x), R);

然后,您可以使用R.index((number1,number2));查找元组的索引。

希望这可以帮助!

[编辑]为了解释上面代码中发生的事情,map函数遍历(迭代)了数组R中的项目,并用lambda函数的返回结果替换了每个项目。因此,这等效于以下方面:

def someFunction(x):
  return (x)

for x in range(0, len(R)):
  R[x] = someFunction(R[x])

因此,它接受每个项目并对其执行操作,然后将其放回列表中。我意识到它可能实际上并没有达到我的预期(返回(x)似乎没有将常规数组更改为元组),但是它确实对您有所帮助,因为我认为通过遍历python可能会创建一个常规数组numpy数组中的数组。

要实际转换为元组,下面的代码应该可以工作

R = map(tuple, R) 

(积分https://stackoverflow.com/a/10016379/2612012

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章