首页 > 解决方案 > 在数组中查找值的索引 - IDL

问题描述

我正在通过一些继承的代码学习 IDL。在其他语言(python、MATLAB)中,很容易找到与数组中感兴趣的值相关联的索引。但是,我似乎在 IDL 中找不到任何简单的函数或方法来执行此操作。例如:

A = [55, 6, 762, 35, 155, 1, 867, 35]

我知道值 155 在 A 中,但我对它的位置 [x,y] 感兴趣。如何轻松访问这些信息?

我能想到的唯一类似的事情是在数组中找到一个 MAX 值。

B = max(A,location)

其中第二个参数(位置)给出了 A 中最大值的索引。但是,我希望能够使用任何值来执行此操作,而不仅仅是最大值。

我知道 VALUE_LOCATE 函数,但这需要数组是单调的,而这里不是这种情况。

我曾尝试使用 WHERE 和 ARRAY_INDICES 等,但我认为我没有正确使用它们(或者它们只是没有按照我的要求做)。

谢谢你。

标签: arraysindexingindicesidl

解决方案


当然,我是在发完这篇文章后才知道的。使用 WHERE 函数解决了这个问题。如果将来有人搜索此内容:

C = where(A eq desired_value)

推荐阅读