我可以通过比较两个数组来找到更改后的值的索引吗?
例如;
array1 = [1, 2 ,3]
array2 = [1, 2, 4]
我想通过比较这两个数组来找到变化值的索引。对于此示例,该名称应为2
。
我正在使用numpy比较两个数组。但是我找不到更改后的值的索引。
答案 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