웹사이트 검색

파이썬 세트


파이썬 세트

Python 집합은 순서가 지정되지 않은 고유한 요소 모음입니다. 목록이 있고 Python Set을 사용할 수 있는 목록의 고유한 항목만 필요하다고 가정합니다. 마찬가지로 입력에서 고유한 항목만 필요한 경우 Python 집합이 그렇게 하는 데 도움이 될 수 있습니다. 항목을 추가하거나 삭제할 수 있습니다. 중괄호 사이에 요소를 배치하여 세트를 초기화할 수 있습니다. 다른 시퀀스와 마찬가지로 하나의 세트는 여러 데이터 유형의 요소를 가질 수 있습니다. 또한 set() 함수를 사용하여 목록에서 집합을 만들 수도 있습니다. 다음 예제는 세트 초기화에 대한 아이디어를 제공합니다.

#set containing single data-type
set1 = {1, 2, 3, 4, 2, 3, 1}
print(set1)

#set containing multiple data-type
set2 = {1, 2, 3, (1, 2, 3), 2.45, "Python", 2, 3}
print(set2)

#creating a set from a list
theList = [1, 2, 3, 4, 2, 3, 1]
theSet = set(theList)
print(theSet)

출력은

================== RESTART: /home/imtiaz/set1.py ==================
set([1, 2, 3, 4])
set([1, 2, 3, 2.45, 'Python', (1, 2, 3)])
set([1, 2, 3, 4])
>>> 

Python 집합에 요소 추가

이전 예제에서는 Python 집합을 직접 초기화하는 방법을 배웠습니다. set에 요소를 추가해야 한다고 가정하면 add() 함수를 사용하여 추가할 수 있습니다. 하지만 이 함수는 단일 요소를 추가할 수 있습니다. 목록이나 집합과 같은 반복 가능한 요소를 추가하려면 update() 함수를 사용하면 됩니다. 다음 예는 당신이 그 일을 이해하는 데 도움이 될 것입니다

#initialize an empty set
theSet = set()

#add a single element using add() function
theSet.add(1)
theSet.add(2)
theSet.add(3)
theSet.add(2)
#add another data-type
theSet.add('hello')

#add iterable elements using update() function
theSet.update([1,2,4,'hello','world']) #list as iterable element
theSet.update({1,2,5}) #set as iterable element
print(theSet)

다음 코드의 출력은

================== RESTART: /home/imtiaz/set_new.py ==================
set([1, 2, 3, 4, 5, 'world', 'hello'])
>>> 

Python 집합에서 요소 제거

Python Set에서 요소를 제거하는 두 가지 함수가 있습니다. 하나는 remove() 함수이고 다른 하나는 discard() 함수입니다. 제거하려는 요소가 세트에 없으면 remove() 함수가 이에 대한 예외를 발생시킵니다. 그러나 폐기 기능은 이와 같은 작업을 수행하지 않습니다. 다음 코드는 당신에게 그것들을 보여줄 것입니다

theSet = {1,2,3,4,5,6}

#remove 3 using discard() function
theSet.discard(3)
print(theSet)

#call discard() function again to remove 3
theSet.discard(3) #This won't raise any exception
print(theSet)

#call remove() function to remove 5
theSet.remove(5)
print(theSet)

#call remove() function to remove 5 again
theSet.remove(5) #this would raise exception
print(theSet) #this won't be printed

출력은 다음과 같습니다.

================== RESTART: /home/imtiaz/set_del.py ==================
set([1, 2, 4, 5, 6])
set([1, 2, 4, 5, 6])
set([1, 2, 4, 6])

Traceback (most recent call last):
  File "/home/imtiaz/set_del.py", line 16, in 
    theSet.remove(5) #this would raise exception
KeyError: 5
>>> 

파이썬 집합 연산

합집합, 교집합, 차이와 같은 일부 수학적 집합 연산에 익숙할 것입니다. Python 집합을 사용하여 이러한 작업을 수행할 수도 있습니다. 이제 그 방법을 배우겠습니다.

파이썬 집합 연합

합집합은 두 집합을 병합하는 작업입니다. 즉, union은 두 세트의 고유한 요소를 모두 포함하는 또 다른 세트를 생성합니다. 예를 들어 {1, 2, 3, 4}와 {2, 3, 5, 7}은 두 개의 집합입니다. 합집합 연산을 하면 {1, 2, 3, 4, 5, 7}이 됩니다. union() 함수를 사용하여 이를 얻을 수 있습니다.

파이썬 세트 교차점

다시 말하지만, 교차는 두 집합의 공통 고유 요소를 가져오는 작업입니다. 예를 들어 {1, 2, 3, 4}와 { 2, 3, 5, 7}은 두 집합입니다. 교차하면 {2, 3}이 됩니다. 교차 작업은 Intersection() 함수에 의해 수행됩니다.

파이썬 세트 차이

이제 차이 연산은 두 세트를 비교하고 세트 B에서 공통적이지 않은 세트 A의 항목을 포함하는 새 세트를 생성합니다. A = {1, 2, 3, 4} 및 B = {2, 3의 두 세트가 있다고 가정합니다. , 5, 7}. 그런 다음 A - B 작업은 {1, 4}를 생성합니다. 또한 B - A는 {5, 7}을 생성합니다. 차이 연산은 difference() 함수에 의해 수행됩니다. 다음 코드는 파이썬 프로그래밍에서 이러한 집합 연산을 수행하는 방법에 대한 아이디어를 제공합니다.

A = {1, 2, 3, 4} #initializing set A
B = {2, 3, 5, 7} #initializing set B

union_operation = A.union(B)

print("A union B :")
print(union_operation)

intersection_operation = A.intersection(B)

print("A intersection B :")
print(intersection_operation)

difference_operation = A.difference(B)

print("A-B :")
print(difference_operation)

difference_operation = B.difference(A)
print("B-A :")
print(difference_operation)

당신이 얻는 출력은 다음과 같습니다

================== RESTART: /home/imtiaz/set_op.py ==================
A union B :
set([1, 2, 3, 4, 5, 7])
A intersection B :
set([2, 3])
A-B :
set([1, 4])
B-A :
set([5, 7])
>>> 

오늘은 여기까지입니다. Python Set에 대해 잘 배웠기를 바랍니다. 추가 질문이 있으시면 댓글 상자에 질문을 작성하시면 됩니다. 답변해드리겠습니다. 참조: 공식 문서