gpt4 book ai didi

python - 列出相邻单元格

转载 作者:太空宇宙 更新时间:2023-11-03 13:04:15 26 4
gpt4 key购买 nike

我有一个带有 id 值的 570 x 800 矩阵。如果为每个项目找到相邻的邻居,我想做什么。除非像元沿着边界,否则最大邻居数为 8。在那种情况下,将有三个邻居。我想将邻居添加到列表中。我看到了当每个单元格都有 x 和 y 坐标时查找邻居的帖子,这非常有帮助,但是如何修改没有坐标的代码。 ID 以字符串的形式出现,这很好,因为我将它用作字典中的键。任何帮助,将不胜感激。

最佳答案

假设你想做的是在矩阵上构建一个八连接的网格,矩阵中 item 的位置定义了一个 x 和 y 坐标,你可以使用这样的东西:

def eight_connected_neighbours( xmax, ymax, x, y ):
"""The x- and y- components for a single cell in an eight connected grid

Parameters
----------
xmax : int
The width of the grid

ymax: int
The height of the grid

x : int
The x- position of cell to find neighbours of

y : int
The y- position of cell to find neighbours of

Returns
-------
results : list of tuple
A list of (x, y) indices for the neighbours
"""
results = []
for dx in [-1,0,1]:
for dy in [-1,0,1]:
newx = x+dx
newy = y+dy
if (dx == 0 and dy == 0):
continue
if (newx>=0 and newx<xmax and newy >=0 and newy<ymax):
results.append( (newx, newy) )
return results

关于python - 列出相邻单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9245898/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com