본문 바로가기
개발일지/Python

파이썬 remove함수로 중복값 제거하

by 개발에정착하고싶다 2022. 5. 11.
320x100

remove는 오늘 처음 알았는데,

내가 지정해준 범위에 해당되는 값 만큼 지워주는 함수다.

예를들어

2개 이상을 삭제 하길 원한다고 하면

오른쪽 부터 세었을때 1개가 초과하는건 모두 삭제된다.

 

numbers = [2,22,7,8,9,2,7,3,5,2,7,1,3,2]
print(numbers)

idx = 0
while True:
    if idx >= len(numbers):
        break

    if numbers.count(numbers[idx]) >= 3:
        # remove는 중복값을 모두 제거해주는 함수같다.
        # 음... 여기선 지정해준 값이 2개 이상 즉, 2개는 2개이상에 걸리기 때문에
        # 2이상은 모두 삭제가 된건가?
        # 맞다. 3으로 해주니깐 남는 2가 2개고 오른쪽부터 세었을때 지정 범위가
        # 넘는건 삭제되는것같다.
        numbers.remove(numbers[idx])
        
        # 이건 매우 중요하다. 만약 지우기에 성공했을때, 그 인덱스가 밀려나버리면
        # 원래 인덱스0 값에 해당하던것도 달라질 수 있기 때문에 필요하다.
        continue


    idx += 1

print(numbers)
300x250