for 안에서 list.pop()을 쓰면 안되는 이유
pop은 아래처럼 쓴다. >>> a = [1, 2, 3, 4, 5] >>> a.pop() 5 >>> a [1, 2, 3, 4] >>> a.pop(0) 1 >>> a [2, 3, 4] 그러니까 리스트에서 인자값 없이 pop()을 호출하면 마지막 요소를 꺼낸다. 인자값으로 인덱스를 넣으면 해당 인덱스의 값을 꺼낸다. 꺼낸 값은 다른 변수에 할당해도 되고, 리스트 자체는 바로 바뀐다. 그럼 아래 예의 결과는 어떻게 될까. a = [1,2,3,4,5] for i, v in enumerate(a): if v < 5: a.pop(i) enumerate()는 리스트의 인덱스를 함께 반환한다. 위에서 i가 인덱스넘버, v가 값이다. 5보다 작으면 해당 인덱스를 pop하라고 하니, 결과는 [5]일 것이다. 실제로 해보라..