본문 바로가기
Programming/Python

파이썬 리스트 중복 제거 (방법 및 예시)

by 코딩하는 금융인 2021. 11. 29.

안녕하세요.

오늘은 파이썬 리스트 내 중복 값을 제거하는 방법 및 실제 예시에 대해 알아보겠습니다.

 

 파이썬 리스트 중복 제거

▣ 파이썬 리스트 중복 제거 방법 3가지

  • set 집합형 자료 활용
  • for 반복문 활용
  • dictionary keys 활용

1. set(집합)

set 자료구조의 특징인 자료 내에서 중복은 불가능하다는 성질을 활용하여 중복 제거

sample = ["a","b","c","d","a","a","b","c","e"]

result = list(set(sample)); print(result)
## result : ["a","b","c","d","e"]

순서: 리스트 → 집합(set): 중복 제거 → 리스트

 

2. for 반복문

for문 내 중복되지 않는 조건문(if x not in 리스트)을 통해 중복 제거

sample = ["a","b","c","d","a","a","b","c","e"]
result = [] #중복 제거 리스트
for i in sample:
    if i not in result:
        result.append(i)
print(result)
# ['a', 'b', 'c', 'd', 'e']

순서: 중복 제거 리스트 생성 → 반복문 내 조건문으로 중복되지 않는 값만 리스트에 추가

 

3. dictionary keys

중복이 불가능한 규칙을 가진 딕셔너리 구조 활용하여 중복 제거

sample = ["a","b","c","d","a","a","b","c","e"]

keys_result = dict.fromkeys(sample)
print(keys_result)
# {'a': None, 'b': None, 'c': None, 'd': None, 'e': None}

print(list(keys_result))
# ['a', 'b', 'c', 'd', 'e']

순서: dict.fromkeys(리스트) 중복이 제거된 키 값들 변환 → 다시 리스트로 변환

 

 실제 활용 예시

▣ Sample 데이터 프레임

시간대 방문자 명단
9 Jane, Chris, Shen, Jane, Jenny, Chris, June
10 Paul, Bao, Bo, Bao, Paul, Jerry
11 Kane, Fehn, Kane, Suzy, Fehn
12 Jamy, Amy, Jamy, Sheeran, Bieber
13 Berham, Molly, Mike, Molly

 

Python Code

# 목표 : 엑셀 열에서 해당 셀에 대한 중복 제거

import pandas as pd
df = pd.read_excel('C:/Users/코딩하는 금융인/Desktop/sample.xlsx')
visitors = df.loc[:,'방문자 명단']
data_list = []

for v in visitors:
    visitors_set = set(v.split(','))
    data = {'visitors_set': visitors_set}
    data_list.append(data)

result_df = pd.DataFrame(data_list, columns=['visitors_set'])
print(result_df)
'''
##출력물
                                  visitors_set
0  { Jane,  June,  Chris,  Shen,  Jenny, Jane}
1             {Paul,  Bao,  Paul,  Jerry,  Bo}
2                  { Fehn, Kane,  Kane,  Suzy}
3       {Jamy,  Sheeran,  Amy,  Jamy,  Bieber}
4                      { Molly,  Mike, Berham}
'''
반응형

댓글