查找矩阵中所有元素的总和,除了 Python 中给定单元格的行和/或列中的元素

假设我们有一个二维矩阵和一组单元格索引。单元格索引表示为 (i, j),其中 i 是行,j 是列,现在,对于每个给定的单元格索引 (i, j),我们必须找到除第 i 行中存在的元素之外的所有矩阵元素的总和,并且/ 或第 j 列。

所以,如果输入是这样的

223
457
643

单元格索引 = [(0, 0), (1, 1), (0, 1)],那么输出将是 [19, 14, 20]

在线示例

让我们看看以下实现以获得更好的理解 -

def show_sums(mat, ind_arr):
   n = len(ind_arr)
   ans = []
   for i in range(0, n):
      Sum = 0
      row = ind_arr[i][0]
      col = ind_arr[i][1]
      for j in range(0, len(mat)):
         for k in range(0, len(mat[0])):
            if j != row and k != col:
               Sum += mat[j][k]
      ans.append(Sum)
   return ans
mat = [[2, 2, 3], [4, 5, 7], [6, 4, 3]]
ind_arr = [(0, 0),(1, 1),(0, 1)]
print(show_sums(mat, ind_arr))

输入

mat = [[2, 2, 3], [4, 5, 7], [6, 4, 3]] ind_arr = [(0, 0),(1, 1),(0, 1)
输出结果
[19, 14, 20]

猜你喜欢