我有两个bool矩阵,我想找出它们值不同的位置,在python里怎么做比较简单
时间: 2024-12-24 19:35:06 浏览: 6
在Python中,你可以使用`numpy`库提供的布尔运算以及`logical_xor`函数来找到两个布尔矩阵中值不同的位置。这里是一个简单的例子:
```python
import numpy as np
# 假设你有两个布尔矩阵(可以用二维列表、ndarray或者其他支持布尔运算的结构表示)
matrix1 = np.array([...])
matrix2 = np.array([...])
# 使用 logical_xor 函数计算两矩阵元素值不同的位置
diff_positions = np.logical_xor(matrix1, matrix2)
# diff_positions 现在是一个新的布尔矩阵,True表示矩阵1和矩阵2在相应位置的值不同
```
在这个例子中,`np.logical_xor(a, b)`会返回一个新的布尔矩阵,其每个元素为a和b在相应位置的逻辑异或结果。
如果你想要获取位置索引,可以结合`np.argwhere`函数:
```python
indices = np.argwhere(diff_positions)
# indices 是一个元组组成的数组,每个元组包含了不同位置的行索引和列索引
```
阅读全文