如何使用1d数组搜索2d数组以返回2d数组的索引1

时间:2019-08-02 03:02:14

标签: python arrays numpy

我有一个2d(3,2)数组和一个1d(3,1)数组。在2之间,它们共享一列相似的值。我想在1d或2d数组中搜索相似的值,然后返回相应的元素。

arr1=[0,a],[1,b],[2,c]

arr2=[2],[1],[0]

Expected outcome is =[c],[b],[a]

2 个答案:

答案 0 :(得分:1)

您可以使用numpy数组来做到这一点。

import numpy as np

arr1 = [[0, 'a'], [1, 'b'], [2, 'c']]
arr2 = [[2], [1], [0]]

arr1 = np.array(arr1)
arr2 = np.array(arr2)
arr2 = np.squeeze(arr2)

res = arr1[arr2][:,1]

输出

array(['c', 'b', 'a'], dtype='<U21')

答案 1 :(得分:0)

以下内容将返回任意长列表arr1的“值”,并在arr1中包含“键”:

for line in arr1:
    if line[0] in arr2:
        print(line[1])