nekomata_saren@tg says to YSITD
def generate_neighbors(self, p): movements = [(-1, 0), (1, 0), (0, -1), (0, 1)] candidates = map(lambda m: (p[0] + m[0], p[1] + m[1]) , movements) valid_candidates = filter(lambda c: not self.grid[c[1]][c[0]], candidates) return valid_candidates