比如说,
a = [1, 1, 2, 4, 4, 4, 5, 6, 7, 100]
b = [1, 2, 2, 2, 2, 4, 5, 7, 8, 100]
我可以使用以下方法找到匹配的元素:
np.intersect1d(a,b)
输出:
array([ 1, 2, 4, 5, 7, 100])
那么,如何分别获得数组a
和b
中匹配元素的索引呢
IDL中有一个函数"match"
-https://www.l3harrisgeospatial.com/docs/match.html
Python中有类似的函数吗
Tags:
您可以使用
enumerate
跟踪索引,如下所示:这是怎么回事
我们正在利用惊人的
enumerate
函数!此函数为iterable中的每个元素生成一个元组,第一个元素是枚举(或本例中的索引),第二个元素是iterable下面是
zip(a,b)
的枚举形式从那以后就很简单了!解包iterable并检查两个元素是否相等,如果相等,则使用将枚举添加到列表中
在
numpy.intersect1d
中使用return_indices
:输出:
然后可以重复使用,如:
像这样使用
range
:相关问题 更多 >
编程相关推荐