Python 查找两个数组之间更改值的索引
我可以通过比较两个数组找到更改值的索引吗 例如,Python 查找两个数组之间更改值的索引,python,arrays,python-3.x,numpy,Python,Arrays,Python 3.x,Numpy,我可以通过比较两个数组找到更改值的索引吗 例如, array1 = [1, 2 ,3] array2 = [1, 2, 4] 我想通过比较这两个数组来找到变化值的索引。对于本例,这应该是2 我使用numpy比较两个数组。但我找不到更改值的索引。这是一个非numpy解决方案。您可以使用: 由于您使用的是NumPy,因此可以使用进行比较=操作员和使用: list(set(a1)-set(a2))给出集合中不存在的所有元素的列表a2 a1 = [1,2,3] a2 = [1,2,4] arr=lis
array1 = [1, 2 ,3]
array2 = [1, 2, 4]
我想通过比较这两个数组来找到变化值的索引。对于本例,这应该是2
我使用numpy比较两个数组。但我找不到更改值的索引。这是一个非numpy解决方案。您可以使用:
由于您使用的是NumPy,因此可以使用
进行比较=代码>操作员和使用:
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
您可以使用numpy的where
函数来执行此操作
array3 = np.where((array1-array2) != 0)
为了找到两个列表之间n个变化元素的索引,我们可以使用
c = set(a) - set(b)
[a.index(i) for i in c]
这不管用。如果同一个元素可能出现两次,它可能会找到错误的索引。如果列表在不同的位置有相同的元素,它也不起作用。即使有效,这也是非常低效的。它要求每个不匹配的元素都有一个循环(索引调用)。
array3 = np.where((array1-array2) != 0)
c = set(a) - set(b)
[a.index(i) for i in c]