루프에서 반복되는 시퀀스를 수정하는 것은 안전하지 않습니다 (목록과 같이 변경 가능한 시퀀스 유형에서만 발생할 수 있습니다). 반복되는 목록을 수정해야하는 경우 (예 : 선택한 항목을 복제 할 때) 사본을 반복해야합니다. 슬라이스 표기법이 특히 편리하게 :반복되는 시퀀스를 수정하는 것이 안전하지 않은 이유는 무엇입니까?
>>> for x in a[:]: # make a slice copy of the entire list ... if len(x) > 6: a.insert(0, x) ... >>> a ['defenestrate', 'cat', 'window', 'defenestrate']
단지 for x in a
을 할 이유가 안전하지 않다?
시도했을 때 어떤 결과를 얻었습니까? – SilentGhost
나는 아래 질문에 대한 대답을 믿습니다. 전체 목록을 복사하지 않으려면 반복 작업 후에 실행할 수있는 작업 목록도 유지해야합니다. –