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
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]
댓글
댓글 쓰기