저는 최근에 파이썬을 배우기 시작했습니다. 다음 코드는 튜플을 목록의 인덱스로 사용할 수 없다는 형식 오류를 발생시킵니다. 내 목록에 액세스하기 위해 목록이 아닌 정수를 사용하고 있다고 확신합니다. 하위 매트릭스를 만드는 줄에서 오류가 발생합니다. 나를 도와 줄 수 있습니까?
Traceback (most recent call last):
File "matrix_input.py", line 44, in <module>
print(contains(matrix, target))
File "matrix_input.py", line 33, in contains
sub_matrix = [row[index:len(target[0])] for row in matrix[i, len(target)]]
TypeError: list indices must be integers, not tuple
다음은 오류를 발생시키는 함수입니다.
def sub_array(row, sub_row):
i = 0
index = -1
for idx, val in enumerate(row):
if i >= len(sub_row):
break
elif val == sub_row[i]:
index = idx
i+=1
else:
i = 0
return index if i == len(sub_row) else -1
def contains(matrix, target):
for i in range(len(matrix)):
index = sub_array(matrix[i], target[0])
if index is not -1:
sub_matrix = [row[index:len(target[0])] for row in matrix[i, len(target)]]
print(sub_matrix)
if sub_matrix == target:
return "YES"
return "NO"
matrix[i, len(target)]
정수가 아닌 인덱스로 matrix
튜플 을 사용하여 항목에 액세스하려고합니다 i, len(target)
. matrix[i][len(target)]
대신 사용하려는 것으로 보입니다 .
당신과 정수를 비교해야 ==
/ !=
-도 index != -1
대신 index is not -1
.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다