import random
data=[random.randint(1,3) for i in range(10)]
print(data)
target=2
print(f'target({target}) 삭제 전:{data}')
for n in data:
if n==target:
data.remove(target)
print(f'target({target}) 삭제 후:{data}')
이 코드에서 질문이 있습니다.
일단 리스트에 [2 2 1 3 2 3 1 2 2 2]
가 있는데
for
가 0
번째 위치에서 실행되니까 첫 번째 2
가 지워지고 data = [2 1 3 2 3 1 2 2 2]
로 정의됩니다.
그러면 다시 for
loop로 돌아왔을 때 이제는 1번째 위치에서 실행하니까 인덱스 1에 있는 요소인 1이 지워지고 data = [2 3 2 3 1 2 2 2]
되는 거 아닌가요?
왜 실행 결과가 [1, 3, 3, 1, 2, 2]
인지 이해가 잘 되지 않습니다.