如何使用列表推导在Python中的2D列表中查找单元格的所有邻居?我可以找到所有相邻的包括对角线,但我不想包括对角线。
例如,如果我有这样的2D列表
2 3 5
1 6 None
2 4 8
我的当前单元格在网格[1] [1]处为6,如果这些单元格为!=无(即值1),如何创建网格单元[1] [1]的邻居的列表解析,3和4,但我需要单元格引用,而不是数字)。
感谢您的帮助。
答案 0 :(得分:0)
如果简单,那就是:
然后你的列表理解是
[(i,j) for i,j in ((a-1,b), (a+1,b), (a,b-1), (a,b+1)) if 0<=i<MAXX and 0<=j<MAXy and X[i][j] is not None ]