二维lis区域的较短操作方法

2024-04-23 12:06:25 发布

您现在位置:Python中文网/ 问答频道 /正文

在我正在编写的一个图像处理应用程序中,我有一个多维列表data,我需要能够同时访问一系列点(比如一个2x2块)。你知道吗

目前我正在使用:

data[x, y] = average

data[x+1, y] = average

data[x, y+1] = average

data[x+1, y+1] = average

但它很笨重,如果我想扩展到4x4或8x8块,则分别需要16行或64行代码。你知道吗

一定有一种更简单的方法来操纵二维列表的区域,有什么想法吗?你知道吗


Tags: 方法代码应用程序区域列表data图像处理average
1条回答
网友
1楼 · 发布于 2024-04-23 12:06:25

对于实际的2D列表,请遍历要使用的索引:

for x in xrange(low_x, low_x+2):
    for y in xrange(low_y, low_y+2):
        data[x][y] = average

对于NumPy数组,使用切片分配:

data[x:x+2, y:y+2] = average

相关问题 更多 >