행렬 구성 질문 (특정 좌표의 행렬 값들 사이의 행렬 값)
조회수 365회
안녕하세요 파이썬 공부하는 학생입니다.
행렬을 구성하는 코드를 작성 중인데요 막히는 부분이 있어서 질문 드립니다 ㅠㅠ
1번 그림과 같은 행렬이 있을때 현재 0이 위치한 무작위로 1의 값을 추가하여 행렬을 구성하고 싶은데 2 들 끼리는 무조건 1로 연결된 행렬을 구성하고 싶습니다.
예를 들면 2번, 3번 그림처럼 1로 연결되도록 행렬을 구성하고 싶은데 막막합니다...혹시 비슷한 코딩을 해보셨거나 힌트라도 주시면 정말 감사하겠습니다 !! 감사합니다
1 답변
-
모든 0을 1로 바꾸는 코드입니다.
>>> import numpy as np >>> grid = np.zeros((5, 5)) >>> grid array([[0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.]]) >>> grid[:2, :2] = 2 >>> grid[4:, 4:] = 2 >>> grid array([[2., 2., 0., 0., 0.], [2., 2., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 2.]]) >>> grid[grid == 0] = 1 >>> grid array([[2., 2., 1., 1., 1.], [2., 2., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 2.]])
댓글 입력