함수가 목록 및 정수 n
을 가져오고 인덱스 i
이 을 만족하면 모든 요소가 삭제됩니다. 그러나인덱스가 조건을 만족하는 모든 요소를 삭제합니다. 목록 할당 인덱스가 범위를 벗어났습니다.
def f(lst, n):
for i in range(len(lst)):
if (i+1)%n==0:
del lst[i]
, 그것은 나에게 오류를 제공합니다 : 내가 가지고 올 한 내용을 여기
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "pop.py", line 4, in f
del lst[i]
IndexError: list assignment index out of range
범위를 벗어 실행할 수있을 것 같지 않습니다 i
인덱스 포인터? 이것이 일어나는 원인은 무엇입니까?
명확성과 테스트를 위해 예제 데이터를 제공해주십시오. –
[반복하는 동안 목록에서 항목 제거] (https://stackoverflow.com/questions/1207406/remove-items-from-a-list-while-iterating) – abccd
항목을 제거하면 어떻게되는지 생각해보십시오 목록에서. 이 목록의 길이가 변경됩니다. –