[英]Find index of changing value between two arrays
我可以通过比较两个数组来找到更改值的索引吗?
对于exaple;
array1 = [1, 2 ,3]
array2 = [1, 2, 4]
我想通过比较这两个数组来找到变化值的索引。 对于这个例子,这应该是2
。
我正在使用numpy来比较两个数组。 但我找不到更改值的索引。
这是一个非笨拙的解决方案。 你可以使用带zip()
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]
由于您使用的是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)
您可以使用numpy的where
函数来执行此操作
array3 = np.where((array1-array2) != 0)
要查找两个列表之间的n个更改元素的索引,我们可以使用
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.