我正在处理由元组表示的图像和像素位置。我想检查像素是否彼此相邻并提出了一个可行的解决方案。我相信有比我更优雅的解决方案。这是我的功能:
def test_neighbors(tup1, tup2):
neighbors = lambda a, b: [(a + 1, b), (a - 1, b), (a, b + 1), (a, b - 1)]
list1 = neighbors(tup1[0], tup1[1])
list2 = neighbors(tup2[0], tup2[1])
for item in list1:
if item in list2:
return True
return False
Run Code Online (Sandbox Code Playgroud)
同样,这段代码运行良好,所以如果这不是一个正确的问题,我很抱歉。预先感谢您的建议!
您可以检查坐标轴上的增量
def test_neighbors(tup1, tup2):
x_delta = abs(tup1[0] - tup2[0])
y_delta = abs(tup1[1] - tup2[1])
return x_delta + y_delta == 1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
50 次 |
| 最近记录: |