2017-08-16 69 views
0
000000000 
000050000 
000505000 
005000500 
050000050 
500040005 
050000050 
005000500 

在本例中,我想找到它们是同一行4.我已经有4的保存为centre索引在5秒的索引。Numpy.where与逻辑

期望的输出是[[5,0],[5,8]]

我尝试这一点,但它不工作:

index = zip(*np.where(array== 5 and x == centre[0])) 

回答

0

解决方案与列表理解:

arr = ['000000000', 
     '000050000', 
     '000505000', 
     '005000500', 
     '050000050', 
     '500040005', 
     '050000050', 
     '005000500'] 

indices = [[j, i] 
      for j, row in enumerate(arr) 
      for i, val in enumerate(row) 
      if '4' in row and val=='5'] 

print(indices) 
# [[5, 0], [5, 8]] 
0

通过做指数= ZIP(* np.where(阵列[中心[解决它0],::] == 5))