2017-05-10 22 views
0

我可以獲取與列表或數組中的特定號碼相鄰的號碼嗎?所以對於下面的例子:Python:獲取與BFR列表中的特定號碼相鄰的號碼

goal_state = [[1,2,3], 
       [4,5,6], 
       [7,8,0]] 

如果我問的是什麼數字與5相鄰,我應該得到2,6,4,8。如果我問什麼數字是相鄰的0,我應該得到6和8.謝謝

+0

你使用numpy嗎? –

+2

'「我可以得到與列表或數組中的特定數字相鄰的數字嗎?」 「是的,你可以。但你有什麼嘗試? – RafaelC

+0

什麼是輸入? (帶有列表索引的元組?)輸出是什麼? (1-d列表?)請添加一些樣例和你試過的東西 – brianpck

回答

0
goal_state = [[1,2,3], 
      [4,5,6], 
      [7,8,0]] 

goal=np.array(goal_state) 
#i,j are row and column position of the number 
def neighbors (i,j): 
    neighbors=[] 

    if j<goal.shape[1]-1: 
     neighbors.append(goal[i,j+1]) 
    if i>0: 
     neighbors.append(goal[i-1,j]) 
    if j>0: 
     neighbors.append(goal[i,j-1]) 
    if i<goal.shape[0]-1: 
     neighbors.append(goal[i+1,j]) 
    return neighbors 
print neighbors(2,0)