Notice
Recent Posts
Recent Comments
Link
SeouliteLab
[Python/파이썬] dictionary의 중복 제거 방법 본문
Python에서 dictionary는 중복된 키를 허용하지 않습니다. 하지만 때로는 중복된 값을 가진 여러 개의 키를 가진 dictionary를 다루어야 할 때가 있습니다. 이번 글에서는 dictionary에서 중복된 값을 제거하는 여러 가지 방법을 알아보겠습니다.
1. dict()와 중복 제거
dict() 함수를 사용하여 중복된 값을 제거할 수 있습니다. 이를 위해 dictionary의 키를 중복 없이 추출하고 이를 다시 dictionary의 키로 사용하여 새로운 dictionary를 생성합니다.
d = {'a': 1, 'b': 2, 'c': 1, 'd': 2}
result = dict((k, v) for k, v in d.items())
print(result)
2. set()을 이용한 중복 제거
set()을 이용하여 중복된 값을 제거한 후에 다시 dictionary로 변환할 수 있습니다. set은 중복된 값을 허용하지 않기 때문에 중복된 값을 제거할 수 있습니다.
d = {'a': 1, 'b': 2, 'c': 1, 'd': 2}
result = dict((k, v) for k, v in set(d.items()))
print(result)
3. collections 모듈의 OrderedDict를 이용한 중복 제거
collections 모듈의 OrderedDict를 사용하여 중복된 값을 제거할 수 있습니다. OrderedDict는 입력 순서를 유지하면서 중복된 값을 제거합니다.
from collections import OrderedDict
d = {'a': 1, 'b': 2, 'c': 1, 'd': 2}
result = OrderedDict((k, v) for k, v in d.items())
print(result)
4. 중복 제거 함수를 직접 구현하기
직접 중복 제거 함수를 구현하여 중복된 값을 제거할 수도 있습니다. 이를 위해 dictionary의 키를 중복 없이 추출하고 이를 이용하여 새로운 dictionary를 생성합니다.
def remove_duplicates(d):
result = {}
for key, value in d.items():
if value not in result.values():
result[key] = value
return result
d = {'a': 1, 'b': 2, 'c': 1, 'd': 2}
result = remove_duplicates(d)
print(result)
5. 중복을 제거하고 새로운 dictionary 생성
중복된 값을 제거하고 새로운 dictionary를 생성하는 방법도 있습니다. 이를 위해 먼저 중복된 값을 제거한 후에 새로운 dictionary를 생성합니다.
d = {'a': 1, 'b': 2, 'c': 1, 'd': 2}
unique_values = set(d.values())
result = {k: v for k, v in d.items() if v in unique_values}
print(result)
'프로그래밍' 카테고리의 다른 글
[Python/파이썬] 리스트 중복 제거, 4가지 방법 (0) | 2024.03.05 |
---|---|
[Python/파이썬] 2차원 리스트를 1차원 리스트로 만들기 (0) | 2024.03.05 |
[Python/파이썬] 문자열 뒤집기, 문자열 거꾸로 출력하기 (0) | 2024.03.05 |
[Python/파이썬] 리스트가 비어있는지 확인하기 (0) | 2024.03.05 |
[Python/파이썬]문자열에서 특정 단어 추출하기 (0) | 2024.03.05 |