본문 바로가기
- 배움이 있는 삶/- Software

Python: list 에서 짝수를 제거한 후 list 출력하기

by story of interesting 2023. 5. 23.
반응형

python list 사용에 있어서, 단순히 사용하면,  list내 데이타에 오류가 발생함을 알 수 있다.

 

1) 1개의 데이타가 제거가 되지 않는 현상

 

 예제)

num_list = [3, 8, 77, 35, 32, 10, 28]

for x in num_list:
    if x % 2 == 0:
        num_list.remove(x)

print(num_list)

(Print)

[3, 77, 35, 10]

Process finished with exit code 0

 

(이슈 포인트)

해당 list에서 짝수를 모두 제거하고자 하나, 10 이라는 짝수가 계속 남아있다. 

 

(원인)

이는 list내의 값들을 remove() 함수가 기존의 값을 흩트리기 때문이었습니다.

 

(해결 방법)

 

num_list[:] 리스트는 값은 동일(num_list == num_list[:])하지만 다른 id 값을 갖게 되어 기존의 리스트를 흩트리지 않고 작업을 진행할 수 있었습니다.

num_list = [5,6,77,45,22,12,24]

for i in num_list[:]:
    if (i % 2 == 0):
        num_list.remove(i)

print(num_list)

 

 

 

반응형