[파이썬] 집합의 요소 연산과 메서드 예제
파이썬에서 집합(set)은 유일한 값들의 집합을 나타내는 데이터 구조입니다. 집합은 수학적인 집합과 유사하며, 요소들간의 연산을 편리하게 처리할 수 있습니다. 이번 글에서는 파이썬에서 집합 요소에 대해 어떻게 연산하고, 어떤 메서드를 활용하는지 알아보겠습니다.
1. 집합 생성하기
집합은 중괄호({}
) 내에 요소들을 콤마(,
)로 구분하여 나타냅니다. 예를 들면 다음과 같습니다:
fruits = {'apple', 'banana', 'orange', 'kiwi'}
print(fruits)
위 코드에서 fruits
변수는 사과(apple), 바나나(banana), 오렌지(orange), 키위(kiwi)로 이루어진 집합을 나타냅니다. 출력 결과는 다음과 같습니다:
{'kiwi', 'banana', 'apple', 'orange'}
2. 집합 연산자 사용하기
파이썬에서는 다양한 집합 연산자를 사용하여 집합 간 연산을 처리할 수 있습니다. 일반적으로 사용되는 연산자는 다음과 같습니다:
|
: 합집합(union) 연산자로, 두 집합의 모든 요소를 포함하는 집합을 반환합니다.&
: 교집합(intersection) 연산자로, 두 집합에서 공통된 요소들을 반환합니다.-
: 차집합(difference) 연산자로, 첫번째 집합에서 두번째 집합에 속하지 않는 요소들을 반환합니다.^
: 대칭 차집합(symmetric difference) 연산자로, 두 집합에서 서로 다른 요소들을 반환합니다.
아래는 각각의 연산자를 사용한 코드 예제입니다:
fruits1 = {'apple', 'banana', 'orange'}
fruits2 = {'orange', 'kiwi', 'mango'}
union = fruits1 | fruits2
print(union) # {'kiwi', 'banana', 'apple', 'orange', 'mango'}
intersection = fruits1 & fruits2
print(intersection) # {'orange'}
difference = fruits1 - fruits2
print(difference) # {'banana', 'apple'}
symmetric_difference = fruits1 ^ fruits2
print(symmetric_difference) # {'mango', 'apple', 'kiwi', 'banana'}
3. 집합 메서드 활용하기
파이썬의 집합에는 집합의 특성을 활용하는 다양한 메서드가 있습니다. 몇 가지 유용한 메서드를 알아보겠습니다:
add
: 집합에 요소를 추가합니다.remove
: 집합에서 요소를 제거합니다. 만약 제거하려는 요소가 없다면KeyError
가 발생합니다.discard
: 집합에서 요소를 제거합니다. 요소가 없더라도 오류가 발생하지 않습니다.clear
: 집합의 모든 요소를 제거합니다.copy
: 집합을 복사합니다.
아래는 각각의 메서드를 사용한 코드 예제입니다:
fruits = {'apple', 'banana', 'orange'}
fruits.add('kiwi') # {'kiwi', 'banana', 'apple', 'orange'}
fruits.remove('orange') # {'kiwi', 'banana', 'apple'}
fruits.discard('orange') # {'kiwi', 'banana', 'apple'}
fruits.clear() # {}
fruits_copy = fruits.copy() # {} (복사된 집합)
집합에 관련된 다른 메서드들도 있으니, 필요에 따라 공식 파이썬 문서에서 더 자세한 내용을 찾아보시기 바랍니다.
이제 집합의 요소 연산과 메서드에 대해 예제를 살펴보았습니다. 집합은 중복된 요소를 허용하지 않고, 요소들 간의 연산을 편리하게 처리할 수 있는 강력한 데이터 구조입니다. Python의 집합을 적절히 활용하여 복잡한 문제를 해결할 수 있습니다.