在网格中查找相邻单元格的Python高效方法

在网格中查找相邻单元格的Python高效方法,第1张

在网格中查找相邻单元格的Python高效方法

对我来说,尚不清楚单元格中是否仅存在x和y坐标以外的其他信息。无论如何,我认为需要更改数据结构以使其更快。

我假设单元格中有额外的信息,并且将其

grid.cells
作为字典,并且将键作为坐标的元组。
grid.cells
如果单元格中只有坐标信息,则可以将其作为一个集合来完成。

def get_adjacent_cells( self, x_coord, y_coord ):    result = {}    for x,y in [(x_coord+i,y_coord+j) for i in (-1,0,1) for j in (-1,0,1) if i != 0 or j != 0]:        if (x,y) in grid.cells: result[(x,y)] = grid.cells[(x,y)]

根据您要处理的数据的不同,您可能不希望将结果做成字典,但希望您能理解。这应该比您的代码快得多,因为您的代码会对中的每个单元格进行8次检查

grid.cells



欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zaji/5647744.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存