수학에서 집합은 그 자체로 대상으로 간주되는 별개의 대상의 모음입니다. 예를 들어, 숫자 2, 4, 6은 별도로 고려하면 별개의 대상이지만 집합적으로 고려하면 {2,4,6}이라고 쓰여진 크기 3의 단일 세트를 형성합니다.
세트 작업
작업 | 표기법 | 의미 |
---|---|---|
교차로 | A ∩ B | 및 모두에 있는 모든 요소 |
연합 | A ∪ B | 둘 중 하나 또는 둘 다에 있는 모든 요소 |
차이 | A ~ B | 안에 있지만 안에 있지 않은 모든 요소 |
보완 | (또는) | 에 없는 모든 요소 |
파이썬에서 리스트에 비해 집합을 사용하는 주요 장점은 특정 요소가 집합의 구성원인지 여부를 확인하는 최적화된 기능을 가지고 있다는 것입니다. 이것은 해시 테이블 데이터 구조를 기반으로 합니다.
집합 방법
add(x) 메소드: 항목 x가 존재하지 않는 경우 세트에 추가합니다.
A = {"AA", "BB", "CC"} A.add("VV")
이것은 A 세트에 VV를 추가합니다.
결합 방법: 두 집합의 합집합을 반환합니다. 2개의 기존 집합 사이에 연산자 '|'를 사용하는 것은 My_Set1.union(My_Set2)을 작성하는 것과 같습니다.
A = {"AA", "BB", "CC"} B = {"MM", "NN"} Z = A.union(B) OR Z = A|B
집합 모집단 집합에는 A와 B의 구성 요소가 있습니다.
교차 방법: 두 개의 주어진 집합의 교집합을 반환합니다. 이 작업에서 '&' 연산자를 사용할 수 있습니다.
S = A.intersection(B)
세트 피해자는 A와 B의 공통 요소를 포함합니다.
차이 방식: 첫 번째 집합에는 있지만 두 번째 집합에는 없는 모든 요소를 포함하는 집합을 반환합니다. 여기서 '-' 연산자를 사용할 수 있습니다.
W = A.difference(B) OR S = A – B
안전 설정에는 A에는 있지만 B에는 없는 모든 요소가 있습니다.
clear() 메소드: 기존 세트 전체가 비어 있게 됩니다.
B.clear()
B 세트 클리어
집합 연산자
세트 및 고정 세트는 다음 연산자를 지원합니다. -
key in s # containment check key not in s # non-containment check s1 == s2 # s1 is equivalent to s2 s1 != s2 # s1 is not equivalent to s2 s1 <= s2 # s1is subset of s2 s1 < s2 # s1 is proper subset of s2 s1 >= s2 # s1is superset of s2 s1 > s2 # s1 is proper superset of s2 s1 | s2 # the union of s1 and s2 s1 & s2 # the intersection of s1 and s2 s1 – s2 # the set of elements in s1 but not s2 s1 ˆ s2 # the set of elements in precisely one of s1 or s2
예시 코드
# Python program to demonstrate working# of # Set in Python # creating two sets My_Set1 = set() My_Set2 = set() # Adding elements to My_Set1 for i in range(1, 6): My_Set1.add(i) # Adding elements to My_Set2 for i in range(3, 8): My_Set2.add(i) print("My_Set1 = ", My_Set1) print("My_Set2 = ", My_Set2) print("\n") # Union of My_Set1 and My_Set2 My_Set3 = My_Set1 | My_Set2# My_Set1.union(My_Set2) print("Union of My_Set1&My_Set2: My_Set3 = ", My_Set3) # Intersection of My_Set1 and My_Set2 My_Set4 = My_Set1&My_Set2# My_Set1.intersection(My_Set2) print("Intersection of My_Set1&My_Set2: My_Set4 = ", My_Set4) print("\n") # Checking relation between My_Set3 and My_Set4 if My_Set3>My_Set4: # My_Set3.issuperset(My_Set4) print("My_Set3 is superset of My_Set4") elif My_Set3<My_Set4: # My_Set3.issubset(My_Set4) print("My_Set3 is subset of My_Set4") else : # My_Set3 == My_Set4 print("My_Set3 is same as My_Set4") # displaying relation between My_Set4 and My_Set3 if My_Set4<My_Set3: # My_Set4.issubset(My_Set3) print("My_Set4 is subset of My_Set3") print("\n") # difference between My_Set3 and My_Set4 My_Set5 = My_Set3 - My_Set4 print("Elements in My_Set3 and not in My_Set4: My_Set5 = ", My_Set5) print("\n") # check if My_Set4 and My_Set5 are disjoint sets if My_Set4.isdisjoint(My_Set5): print("My_Set4 and My_Set5 have nothing in common\n") # Removing all the values of My_Set5 My_Set5.clear() print("After applying clear on sets My_Set5: ") print("My_Set5 = ", My_Set5)의 모든 값
출력
My_Set1 = {1, 2, 3, 4, 5} My_Set2 = {3, 4, 5, 6, 7} Union of My_Set1&My_Set2: My_Set3 = {1, 2, 3, 4, 5, 6, 7} Intersection of My_Set1&My_Set2: My_Set4 = {3, 4, 5} My_Set3 is superset of My_Set4 My_Set4 is subset of My_Set3 Elements in My_Set3 and not in My_Set4: My_Set5 = {1, 2, 6, 7} My_Set4 and My_Set5 have nothing in common After applying clear on sets My_Set5: My_Set5 = set()