我有一个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]
答案 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])