查找两个数组之间的值变化的索引

时间:2019-02-02 18:12:14

标签: python arrays python-3.x numpy

我可以通过比较两个数组来找到更改后的值的索引吗?

例如;

array1 = [1, 2 ,3]
array2 = [1, 2, 4]

我想通过比较这两个数组来找到变化值的索引。对于此示例,该名称应为2

我正在使用numpy比较两个数组。但是我找不到更改后的值的索引。

5 个答案:

答案 0 :(得分:2)

这是一个非数字解决方案。您可以将enumerate()zip()结合使用:

print(clf.predict([X_train.data[4]]))

答案 1 :(得分:2)

由于您使用的是NumPy,因此可以使用!=运算符进行比较,然后使用np.flatnonzero

array1 = np.array([1,2,3])
array2 = np.array([1,2,4])

res = np.flatnonzero(array1 != array2)

print(res)
# array([2], dtype=int64)

答案 2 :(得分:2)

您可以使用numpy的where函数执行此操作

array3 = np.where((array1-array2) != 0)

答案 3 :(得分:2)

要找到两个列表之间的折射率n变化的元素,我们可以使用

c = set(a) - set(b)
[a.index(i) for i in c]

答案 4 :(得分:0)

list(set(a1)-set(a2))给出了集合a2中不存在的所有元素的列表

a1 = [1,2,3]
a2 = [1,2,4]
arr=list(set(a1)-set(a2)) #arr=[3]
print(a1.index(arr[0]))   #2