python二维数组按3x3方格求和
时间: 2024-11-09 22:09:55 浏览: 12
解决Python二维数组赋值问题
5星 · 资源好评率100%
在Python中,你可以使用列表嵌套或者numpy库来创建二维数组,并通过for循环或numpy的内置函数来按照3x3的方格计算每个小区域的和。这里我们先假设有一个简单的二维列表示例:
```python
# 假设我们有这样一个3x3的二维列表
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
# 按3x3方格求和
def sum_3x3(matrix):
# 初始化结果列表用于存储每个3x3子区域的和
sums = []
for i in range(0, len(matrix), 3): # 从0开始,步长为3遍历行
row_sum = 0
for j in range(0, len(matrix[i]), 3): # 同样,步长为3遍历列
sub_matrix = [matrix[i + k][j + l] for k in range(3) for l in range(3)] # 提取3x3子矩阵
row_sum += sum(sub_matrix)
sums.append(row_sum) # 将行的和添加到结果列表
return sums
# 调用函数并打印结果
result = sum_3x3(matrix)
print(result) # 输出: [16, 25, 16]
```
如果你在处理大数据集或需要高效的计算,可以考虑使用numpy库,它提供了一个更快的方法`numpy.array.reshape()`来重塑数组,然后使用`numpy.sum()`计算。
阅读全文