0
이름과 숫자의 텍스트 파일을 읽고 그것을 이름과 숫자를 가진 2 차원 배열로 만든 다음 배열에서 항목을 제거하려고합니다. 번호는 1입니다. 그러나 2 차원 배열의 인덱스에 액세스하기 위해 작성한 코드는 작동하지 않고 "IndexError : list index of range"오류를 발생시킵니다. 이리스트 2의 모양에 대한 예제파이썬 다차원 배열리스트 인덱스가 범위를 벗어났습니다
File "/Users/cat/PycharmProjects/myCS106/Names.py", line 16, in updateNames
list2[i][1] = int(list2[i][1])
IndexError: list index out of range
입니다 : 이것은 역 추적입니다
for i in range(x):
list2[i][1] = int(list2[i][1])
if int(list2[i][1]) == 1:
list2.pop(i)
:이 작동하지 않는 코드의 블록
[["John Doe","1"],["Jane Smith","0"],["Firstname Lastname","1"]]
은 무엇 내가 잘못했는데 어떻게 배열의 항목 중 두 번째 부분 (이 경우 숫자)에 올바르게 액세스합니까? 경우
반복하는 동안 목록 길이를 변경합니다. 대개 항상 문제가 발생합니다. 그럴 필요가있는 논리적 인 이유가 있습니까? – Luca
list comprehension은'pop()'없이'1' 값을 제거하는 명확한 방법 일 수 있습니다 : 'list_without_ones = [element2 [1]! = 1]이면 list2에있는 요소에 대해 요소에 대해 ''. 즉, 원하지 않는 값을 걸러내는'list2'의 복사본을 만듭니다 –