Python, De-Duplication in a list

a = [2, 3, 5, 2, 3, 7]              # 2와 3이 중복이다.

# 1. 중복이 어디 있는지 탐색해보자.
ret=[]                                # 비어있는 리스트 하나 만들었음
for i in range(0, len(a)-1):          # range(0, 5)
    for j in range(i+1, len(a)):   # range(i+1, 6)
        if a[i] == a[j]:
            ret.append(j)
print(ret)                           # [3, 4]가 출력 됨 3번째 위치는 2, 4번째 위치는 3
                                      # 1부터가 아닌 0부터 시작함을 잊지 말자
                                      # 0번째 2, 1번째 3, 2번째 5, 3번째 2, 4번째 3, 5번째 7
# i = 0 일 때, j = 1, 2, 3, 4, 5
# i = 1 일 때, j = 2, 3, 4, 5
# i = 2 일 때, j = 3, 4, 5
# i = 3 일 때, j = 4, 5
# i = 4 일 때, j = 5

# 2. 이제 중복 제거하자
ret.sort(reverse=True)      # change order
print(ret)                      # [4, 3]이 출력된다.
for i in ret:
    a.pop(i)
print(a)                        # [2, 3, 5, 7]

댓글

이 블로그의 인기 게시물

<배당주 투자> 배당주(은행) '22년 8월

은행주 - 배당주 투자 일기, 2022.07.04(월)

<배당주 투자> 지주사, '22년 8월