본문 바로가기
방구석코딩/파이썬 기초문법

[데이터 유형] 파이썬 set 함수 이해, 정렬, 추가, 제거

by 석세상 2023. 8. 7.
반응형

파이썬 데이터 유형 set 함수 이해 및 정렬, 추가, 제거 기능에 대해서 알아보도록 하겠습니다.

파이썬 세트(set) 함수 이해 및 사용법

set 함수는 고유한 요소의 정렬되지 않은 모음이며 중복 제거, 교차점 찾기 등과 같이 다양하게 활용이 가능합니다. set 함수에 대한 이해와 Python에서 set() 명령을 효과적으로 사용하는 방법을 알아보겠습니다.

 

 

set 이해

set() 명령으로 들어가기 전에 set가 무엇인지 간단히 알아보자면 고유한 요소의 정렬되지 않은 모음입니다. 즉, 중복 값을 허용하지 않습니다. 파이썬에서 set 함수는 중괄호 {} 또는 set() 명령을 사용하여 표시됩니다.

 

set 만들기

파이썬에서 집합을 만들려면 set() 명령을 사용할 수 있습니다. 코드 예제를 살펴보겠습니다.

fruits = set(['apple', 'banana', 'orange'])
print(fruits) # Output: {'apple', 'banana', 'orange'}

이 예에서는 set() 명령을 사용하여 fruits라는 집합을 만듭니다.

 

set() 명령에 과일 목록을 인수로 전달하면 목록이 집합으로 변환됩니다. 출력에는 중괄호 {}로 묶인 집합의 요소가 표시됩니다.

 

중괄호를 사용하여 직접 집합을 만들 수도 있습니다.

fruits = {'apple', 'banana', 'orange'}
print(fruits) # Output: {'apple', 'banana', 'orange'}

이 경우 중괄호를 사용하여 fruits 집합을 정의하고 중괄호 안에 요소를 직접 제공합니다.

 

 

set에 요소 추가

set는 변경 가능하므로 set에서 요소를 추가하거나 제거할 수 있습니다. 집합에 요소를 추가하려면 add() 메서드를 사용할 수 있습니다.

fruits = {'apple', 'banana'}
fruits.add('orange')
print(fruits) # Output: {'apple', 'banana', 'orange'}

이 예에는 'apple'과 'banana'라는 두 개의 요소가 포함된 'fruits'라는 집합이 있습니다.

 

set에 'orange' 요소를 추가하기 위해 add() 메서드를 사용합니다. 결과적으로 set에는 이제 세 개의 요소가 포함됩니다.

 

set에서 요소 제거

집합에서 요소를 제거하려면 remove() 메서드 또는 discard() 메서드를 사용할 수 있습니다. 요소가 set에 없으면 remove() 메소드는 오류를 발생시키지만 discard() 메소드는 오류를 발생시키지 않습니다.

fruits = {'apple', 'banana', 'orange'}
fruits.remove('banana')

print(fruits) # Output: {'apple', 'orange'}

이 예에는 세 개의 요소가 있는 fruits라는 집합이 있습니다. remove() 메서드를 사용하여 집합에서 'banana' 요소를 제거합니다. 제거 후 set에는 '사과'와 '오렌지'만 포함되어 있습니다.

 

 

집합 반복

파이썬에서 집합을 반복하는 방법을 자세히 살펴보겠습니다. for 루프 외에도 다른 기술을 사용하여 set를 반복할 수도 있습니다.

 

예제 1: while 루프 사용

fruits = {'apple', 'banana', 'orange'}
iterator = iter(fruits)

while True:

try:
fruit = next(iterator)
print(fruit)

except StopIteration:
break

이 예제에서는 반복자를 사용하여 while 루프를 사용하여 집합 fruits를 반복합니다.

 

먼저 set에서 iter() 함수를 사용하여 반복자 객체를 얻습니다. 그런 다음 try-except 블록을 사용하여 반복자가 StopIteration 예외를 발생시킬 때까지 set의 요소를 반복합니다. next() 함수는 반복자에서 다음 요소를 검색하고 인쇄합니다.

 

 

예제 2: 목록 내포 사용

fruits = {'apple', 'banana', 'orange'}
fruit_lengths = [len(fruit) for fruit in fruits]

print(fruit_lengths)

이 예제에서는 'fruits' 집합을 반복하기 위해 목록 내포를 사용하고 각 과일의 길이를 포함하는 새 목록을 만듭니다.

 

len(fruit) 표현식은 각 과일의 길이를 계산하고 그 결과를 fruit_lengths 목록에 저장합니다. 마지막으로 과일 길이 목록을 인쇄합니다.

 

 

작업 설정

Python의 집합은 합집합, 교차, 차집합 등과 같은 일반적인 집합 작업을 수행할 수 있습니다.

 

합집합

두 집합의 합집합에는 두 집합의 모든 고유 요소가 포함됩니다.

 

파이썬에서는 union() 메서드 또는 | 연산자를 사용하여 합집합 연산을 수행할 수 있습니다.

set1 = {1, 2, 3}
set2 = {3, 4, 5}
union_set = set1.union(set2)

print(union_set) # Output: {1, 2, 3, 4, 5}

이 예에는 set1과 set2라는 두 set가 있습니다. union() 메서드를 사용하여 두 집합의 합집합을 계산하고 결과 집합 union_set에는 두 집합의 모든 고유 요소가 포함됩니다.

 

교집합

두 집합의 교집합에는 두 집합에 있는 공통 요소가 포함됩니다.

 

intersection() 메서드 또는 & 연산자를 사용하여 교차점을 계산할 수 있습니다.

set1 = {1, 2, 3}
set2 = {3, 4, 5}
intersection_set = set1.intersection(set2)

print(intersection_set) # Output: {3}

이 예에서는 intersection() 메서드를 사용하여 set1과 set2 사이의 교집합을 계산합니다. 결과 집합 intersection_set에는 두 집합의 유일한 공통 요소이므로 요소 '3'만 포함됩니다.

 

 

차집합

두 집합 간의 차이에는 첫 번째 집합에는 있지만 두 번째 집합에는 없는 요소가 포함됩니다.

 

difference() 메서드 또는 - 연산자를 사용하여 차이를 계산할 수 있습니다.

set1 = {1, 2, 3}
set2 = {3, 4, 5}
difference_set = set1.difference(set2)

print(difference_set) # Output: {1, 2}

이 예에서는 difference() 메서드를 사용하여 set1과 set2의 차이를 계산합니다. 결과 집합 difference_set에는 요소 '1'과 '2'가 포함되어 있습니다.

 

 

집합에서 구성원 처리

집합을 만들고 조작하는 것 외에도 집합의 구성원인지 확인해야 하는 경우가 많습니다. 파이썬은 멤버 테스트를 수행하는 편리한 방법을 제공하고 있습니다.

 

in 키워드 사용

fruits = {'apple', 'banana', 'orange'}
if 'apple' in fruits:

print("Apple is in the set")

이 예제에서는 in 키워드를 사용하여 fruits 집합에 'apple' 요소가 있는지 확인합니다. 조건이 참이면 'apple'이 set에 있음을 나타내는 메시지를 인쇄합니다.

 

 

not in 키워드 사용

fruits = {'apple', 'banana', 'orange'}
if 'grape' not in fruits:

print("Grape is not in the set")

이 예제에서는 not in 키워드를 사용하여 fruits 집합에 'grape' 요소가 없는지 확인합니다. 조건이 참이면 'grape'가 set에 없음을 나타내는 메시지를 인쇄합니다.

728x90

 

방법 및 작업 설정

Python의 집합에는 집합 조작을 보다 효율적이고 편리하게 만드는 다양한 유용한 방법과 작업이 함께 제공됩니다.

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

# Adding elements to a set
fruits.add('grape')
print(fruits) # Output: {'apple', 'banana', 'orange', 'grape'}

# Removing elements from a set
fruits.remove('banana')
print(fruits) # Output: {'apple', 'orange', 'grape'}

# Checking the length of a set
length = len(fruits)
print(length) # Output: 3

# Clearing all elements from a set
fruits.clear()
print(fruits) # Output: set()

# Performing set operations
set1 = {1, 2, 3}
set2 = {3, 4, 5}

# Union
union_set = set1.union(set2)
print(union_set) # Output: {1, 2, 3, 4, 5}

# Intersection
intersection_set = set1.intersection(set2)
print(intersection_set) # Output: {3}

# Difference
difference_set = set1.difference(set2)
print(difference_set) # Output: {1, 2}

이 코드에서는 다양한 설정 방법과 작업을 보여줍니다.

 

add() 메소드를 사용하여 fruits set에 '포도' 요소를 추가하고, remove() 메소드를 사용하여 '바나나'를 제거하고, len() 함수를 사용하여 set의 길이를 확인하고, clear() 메서드를 사용하여 모든 요소를 ​​지우고 합집합, 교집합, 차집합 등의 집합 연산을 수행합니다.

728x90
반응형

댓글