일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 안드로이드
- win32com
- 파이썬3
- 파워포인트
- Windows10
- Windows11
- 윈도우11
- 엑셀
- 윈도우10
- git
- windows
- VBA
- pandas
- 문자열
- 오피스
- Outlook
- matlab
- pythongui
- python3
- python
- 비주얼베이직
- 파이썬GUI
- Android
- 아웃룩
- 깃
- pyqt5
- office
- Excel
- 파이썬
- html
Appia의 IT세상
파이썬[Python] 리스트(List)의 중복된 맴버 삭제하기, 없애기 본문
파이썬[Python] 리스트(List)의 중복된 맴버 삭제하기, 없애기
이번 포스팅에서는 리스트(List)의 맴버 요소중에 중복된 부분에 대해서 없애는 방법에 대해서 이야기를 해보고자 합니다. 종종 리스트(List)의 맴버들을 살펴볼때, 각 맴버들에 대해 중복된 부분들이 있을 수 있습니다. 물론, 이 부분들이 경우에 따라 그리 큰 문제가 되지 않지만, 때론 이 부분들이 문제가 될 수도 있습니다. 그래서 이번 포스팅에서는 리스트(List)의 중복 요소들을 삭제하는 방법에 대해서 살펴보겠습니다.
위의 방법을 사용할 때 크게 2가지 방법이 있습니다.
1. 반복문을 통해서 삭제 여부 확인
2. 딕셔너리(Dictionary)로 변경하여 중복된 맴버 삭제 하는 방법
그럼 각 방법에 대해서 살펴보겠습니다.
1. 반복문을 통해서 삭제 여부 확인
일단, 리스트를 반복하면서 새로운 리스트에 맴버들을 추가합니다. 이 때 중복되지 않은 맴버요소들만 추가합니다. 그럼 코드상으로 살펴보겠습니다.
일단, 함수를 보면 다음과 같습니다.
def list_organize(List):
NewList = []
for i in List :
if i not in NewList :
NewList.append(i)
return NewList
|
cs |
일단, 리스트를 인자로 받습니다. 그리고 새로운 리스트를 하나 생성하고, 반복하면서 인자로 받은 맴버들이 새로운 리스트에 포함되어 있지 않으면 맴버들을 새로운 리스트에 추가하는 형태입니다. 그럼 다음과 같이 전체 코드를 한번 살펴보겠습니다.
def list_organize(List):
NewList = []
for i in List :
if i not in NewList :
NewList.append(i)
return NewList
if __name__ == '__main__':
mylist = ["a", "b", "a", "c", "c"]
NewList=list_organize(mylist)
print(NewList)
|
cs |
위의 코드를 실행하면 다음과 같은 결과가 생성됩니다.
['a', 'b', 'c']
|
cs |
이와 같이 반복문을 통해서 리스트 맴버의 중복여부를 확인할 수 있습니다.
2. 딕셔너리(Dictionary)로 변경하여 중복된 맴버 삭제 하는 방법
흔히 이렇게 이야기를 하면 좀 혼라스러울 수도 있습니다. 리스트를 딕셔너리로 바꿔서 중복된 맴버를 삭제한다. 그건 다름 아니라, 딕셔너리(Dictionary)의 키로 변경하는 것입니다. 그럼 다음 함수를 살펴보겠습니다.
def list_organize2(List):
List = list(dict.fromkeys(List))
return List
|
cs |
dict.fromkeys()함수를 이용하여 리스트 맴버들을 딕셔너리의 키로 변경을 합니다. 그 부분을 다시 리스트로 변경하는 형태입니다.
그럼 위의 부분을 바탕으로 코드를 작성해보겠습니다.
def list_organize2(List):
List = list(dict.fromkeys(List))
return List
if __name__ == '__main__':
mylist = ["a", "b", "a", "c", "c"]
NewList=list_organize2(mylist)
print(NewList)
|
cs |
이 부분을 실행하면 다음과 같은 결과가 나옵니다.
['a', 'b', 'c']
|
cs |
이와 같이 두가지 방법으로 리스트의 중복된 맴버를 삭제하는 방법에 대해서 살펴봤습니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다. 감사합니다.
'Python > Python 응용' 카테고리의 다른 글
파이썬[Python] 입력된 날짜 기준으로 날짜 세기, D-Day 세기 (0) | 2020.12.11 |
---|---|
파이썬[Python] 두파일 내에 동일한 단어 확인 및 비교하기 (0) | 2020.10.15 |
파이썬[Python] 자료구조[Data Structure] 큐[QUEUE]구현하기 (0) | 2020.10.11 |
파이썬[Python] 자료구조[Data Structure] 스택[Stack]구현하기 (0) | 2020.10.08 |
파이썬[Python] 파일(file) / 디렉토리(directory) 비교 하기(filecmp) (0) | 2020.08.12 |