给定两个数组,
a = ([1,2,3])
b = ([1,3, 2])
有没有一种优雅的方法来检查位置i中的任何元素是否匹配b中的位置i?
我知道循环很容易:
for i in range(len(a)):
for j in range(len(b)):
if a[i] == b[j]:
print("There is a match")
但我对更优雅或更快的方法感兴趣。
谢谢!
答案 0 :(得分:1)
如果您想使用numpy
,它可以提供简洁,优雅且高效的方式:
import numpy as np
a = np.array([1, 2, 3, 4])
b = np.array([1, 3, 2, 4])
np.where(a==b)
输出是一个包含索引数组的元组,其中a
的元素等于b
的元素:
(array([0, 3]),)