0
지정된 값이 2D 배열의 주어진 행이나 주어진 열에 있는지 알아 내려고하고 있습니다.2D 배열의 행과 열에서 값 찾기
함수 existsInRowOrCol 명백하게 혼합 형태의 중첩 된 목록으로 잘 작동하지 않는다 연산자를 이용한다.
어떻게 해결할 수 있습니까?
import numpy as np
field = np.array([['.','.','.',8,'.','.',3,'.',4], #0
['.','.',6,'.','.','.','.',7,'.'], #1
[2,'.','.','.',1,'.','.','.','.'], #2
['.',8,'.',3,'.',4,'.',6,'.'], #3
[1,'.','.','.',5,'.','.',9,'.'], #4
[5,'.','.','.',8,'.',7,'.','.'], #5
['.',9,'.',1,'.',8,'.',5,'.'], #6
[3,'.','.',6,'.','.',8,'.','.'], #7
['.','.',8,'.',2,7,'.',1,'.'], #8
])
def existsInRowOrCol(entry, r, c):
row = field[r,:]
print(row)
if entry in row:
return True
col = field[:,c]
print(col)
if entry in col:
return True
return False
print(existsInRowOrCol(8, 0, 0))
마지막 명령은 false를 출력하지만 true 여야합니다.
참고 : 점을 0으로 바꾸면 작동합니다. 당신이 나를 위해 일한 따옴표로 항목을 갖는 괜찮다 경우
혼합 유형이 문제가됩니까? – bogus
어쨌든이 예제의 경우 인 것 같습니다. 어쩌면 다른 사람이 필요로하는 정보를 혼합하여 보관할 수도 있습니다. 나는 대체 할 대안을 제시하려고 노력했다. ' 0과 함께. – CSCFCEM
좀 더 놀고 난 후에. .. 내가 섞 였을 때와 같아 보인다. 및 8 (따옴표 안에), 파이썬 자동으로 따옴표로 넣어 것입니다. 그것은 당신의 if 조건에서 그것이 발견되지 않은 이유를 설명 할 것입니다. 인쇄 (행) 및 인쇄 (열) 때 숫자 주위에 작은 따옴표가 나타 납니까? – CSCFCEM