Advertisement
Guest User

Untitled

a guest
May 1st, 2016
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.68 KB | None | 0 0
  1. 'M*N matrix'
  2. [[0 1 0]
  3. [2 0 1]
  4. [0 4 0]
  5. [0 0 0]]
  6.  
  7. def sum_neighbors(A, i, j):
  8. rows, columns = A.shape
  9. r0, r1 = max(0, i-1), min(rows-1, i+1)
  10. c0, c1 = max(0, j-1), min(columns-1, j+1)
  11. rs = list({r0, i, r1})
  12. cs = [[c] for c in list({c0, j, c1})]
  13.  
  14. return A[rs, cs].sum() - A[i, j]
  15.  
  16. import numpy as np
  17.  
  18. mxn = np.array([[0, 1, 0],
  19. [2, 0, 1],
  20. [0, 4, 0],
  21. [0, 0, 0]])
  22.  
  23. for i, j in [(0, 0), (1, 0), (1, 1)]:
  24. s = "sum of neigbors for i={} and j={} is {}"
  25. print s.format(i, j, sum_neighbors(mxn, i, j))
  26.  
  27. sum of neigbors for i=0 and j=0 is 3
  28. sum of neigbors for i=1 and j=0 is 5
  29. sum of neigbors for i=1 and j=1 is 8
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement