В основном он должен принимать набор координат и возвращать список координат своих соседей. Однако, когда он попадает сюда:
if result[i][0] < 0 or result[i][0] >= board.dimensions:
result.pop(i)
когда i
равно 2, это дает мне ошибку вне индекса. Я могу заставить его распечатать результат [2] [0], но в операторе if он выдает ошибки. Почему это происходит?
def neighborGen(row,col,board):
"""
returns lists of coords of neighbors, in order of up, down, left, right
"""
result = []
result.append([row-1 , col])
result.append([row+1 , col])
result.append([row , col-1])
result.append([row , col+1])
#prune off invalid neighbors (such as (0,-1), etc etc)
for i in range(len(result)):
if result[i][0] < 0 or result[i][0] >= board.dimensions:
result.pop(i)
if result[i][1] < 0 or result[i][1] >= board.dimensions:
result.pop(i)
return result