我可以通过比较两个数组来找到变化的值的索引吗?
例如:
array1 = [1, 2 ,3]
array2 = [1, 2, 4]
我希望通过比较这两个数组找到变化值的索引。 对于此示例,应该是2
。
我正在使用numpy比较两个数组。 但我无法找到已更改值的索引。
我可以通过比较两个数组来找到变化的值的索引吗?
例如:
array1 = [1, 2 ,3]
array2 = [1, 2, 4]
我希望通过比较这两个数组找到变化值的索引。 对于此示例,应该是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)
where
函数来实现这个功能。array3 = np.where((array1-array2) != 0)
enumerate()
和zip()
:最初的回答。array1 = [1,2,3]
array2 = [1,2,4]
print([i for i, (x, y) in enumerate(zip(array1, array2)) if x != y])
# [2]
c = set(a) - set(b)
[a.index(i) for i in c]
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
index
调用)。 - jpmc26