Programming/Python

list에서 중복 내용을 제거하자

매직블럭 2021. 1. 11. 06:31

리스트를 이용하여 데이터를 관리하다 보면 중복 데이터가 발생하는 경우가 있다.

 

중복 데이터 제거가 필요한 경우를 위하여 방법 기록.

 


1. for문을 이용한 중복 제거 (순서 유지)

반복문을 이용하여 새로운 리스트에 값을 append. 이 과정에서 새로운 리스트에 값이 있으면 skip.

old_list = [1, 2, 3, 1, 3, 4, 5, 6, 7]
new_list = []

for ii in old_list:
	if ii not in new_list:
    	new_list.append(ii)

return new_list
# new_list == [1, 2, 3, 4, 5, 6, 7]

 

2. set을 이용한 중복 제거 (순서 유지 안됨)

중복데이터를 허용하지 않는 set 자료형을 이용하여 형변환을 이용한 중복 제거. 이 과정에서 순서는 보장 X

old_list = [1, 2, 3, 1, 3, 4, 5, 6, 7]
temp_set = set(old_list)
new_list = list(temp_set)

return new_list
# new_list == [1, 2, 3, 4, 5, 6, 7]
# 단, 순서는 원 데이터에 따라 달라질 수 있음.