[파이썬] 세트의 정의와 생성

파이썬에서 세트(set)은 고유한 값의 순서 없는 컬렉션으로 정의됩니다. 세트는 중괄호({}) 사이에 요소를 나열하여 생성됩니다. 각 요소는 쉼표로 구분되고, 세트 내에는 중복되지 않는 값만 포함됩니다. 세트는 변경 가능하며, 다양한 연산과 메서드를 제공하여 유용하게 사용됩니다.

세트 생성하기

세트를 생성하는 가장 간단한 방법은 중괄호를 사용하는 것입니다. 예를 들어, 다음과 같이 세트를 정의할 수 있습니다:

fruits = {'apple', 'banana', 'orange'}

위의 코드에서 fruits 세트는 세 개의 과일을 포함하고 있습니다. 이러한 요소는 순서 없이 저장되며, 중복되는 값은 자동으로 제거됩니다. 세트는 어떤 순서로 요소가 저장되는지를 보장하지 않기 때문에, 출력 결과는 실행할 때마다 달라질 수 있습니다.

세트에는 모든 해시 가능한 데이터 유형을 저장할 수 있습니다. 예를 들어, 정수, 실수, 문자열, 튜플 등을 포함할 수 있습니다. 하지만 리스트와 같은 변경 가능한 데이터 유형은 세트에 저장할 수 없습니다.

numbers = {1, 2, 3, 4, 5}
colors = {'red', 'green', 'blue'}
coordinates = {(0, 0), (1, 1), (2, 2)}

세트 연산

세트는 다양한 연산과 메서드에 대한 지원을 제공합니다. 몇 가지 일반적인 세트 연산을 살펴보겠습니다:

합집합 연산

union() 또는 | 연산자를 사용하여 두 개의 세트를 합칠 수 있습니다. 예를 들어, 다음과 같이 두 개의 세트를 합칠 수 있습니다:

fruits = {'apple', 'banana', 'orange'}
colors = {'red', 'green', 'blue'}

combined = fruits.union(colors)
# 또는
combined = fruits | colors

print(combined)
# 출력: {'apple', 'banana', 'orange', 'red', 'green', 'blue'}

교집합 연산

intersection() 또는 & 연산자를 사용하여 두 개의 세트에서 공통된 요소를 추출할 수 있습니다. 예를 들어, 다음과 같이 두 개의 세트에서 공통된 요소를 추출할 수 있습니다:

fruits = {'apple', 'banana', 'orange'}
colors = {'red', 'green', 'blue'}

common = fruits.intersection(colors)
# 또는
common = fruits & colors

print(common)
# 출력: set()

차집합 연산

difference() 또는 - 연산자를 사용하여 두 개의 세트에서 첫 번째 세트에만 있는 요소를 추출할 수 있습니다. 예를 들어, 다음과 같이 두 개의 세트에서 첫 번째 세트에만 있는 요소를 추출할 수 있습니다:

fruits = {'apple', 'banana', 'orange'}
colors = {'red', 'green', 'blue'}

only_fruits = fruits.difference(colors)
# 또는
only_fruits = fruits - colors

print(only_fruits)
# 출력: {'apple', 'banana', 'orange'}

대칭 차집합 연산

symmetric_difference() 또는 ^ 연산자를 사용하여 두 개의 세트에서 서로 공통되지 않은 요소를 추출할 수 있습니다. 예를 들어, 다음과 같이 두 개의 세트에서 서로 공통되지 않은 요소를 추출할 수 있습니다:

fruits = {'apple', 'banana', 'orange'}
colors = {'red', 'green', 'blue'}

unique = fruits.symmetric_difference(colors)
# 또는
unique = fruits ^ colors

print(unique)
# 출력: {'apple', 'banana', 'orange', 'red', 'green', 'blue'}

세트는 다양한 유용한 연산을 제공하며, 중복을 허용하지 않는 데이터를 처리하는 데에 매우 효과적입니다. 주어진 데이터가 중복되지 않아야 하거나, 빠르고 간편한 연산이 필요한 경우에 세트를 고려해 보세요.

이상으로 세트의 정의와 생성에 대해 알아보았습니다. 파이썬 세트에는 다양한 연산 및 메서드가 있으며, 이를 활용하여 강력한 데이터 처리를 할 수 있습니다. 세트의 자세한 내용은 파이썬 공식 문서를 참조하시기 바랍니다.