<jupyter_start><jupyter_text>6.1 집합- 집합에 대한 지식이 필요. 집합론의 기초 복습- set 자료형과 frozenset 자료형 사용법 - 집합과 원소    - 집합 : 구별 가능한 객체의 모임    - 원소 : 집합에 포함된 구별 가능한 객체    - x와 그 원소를 포함하는 집합 A의 관계 표시     - 집합을 이루는 객체가 반드시 숫자일 필요는 없다.    - 파이썬에서는 set과 frozenset 자료형으로 집합을 나타낸다.    - set : 내용을 변경할 수 없는 mutuable형 자료형, 딕셔녀리 자료형의 key나 set 자료형의 원소가 될 수 없다.    - frozenset : 내용을 변경할 수 없는 immutable 자료형. 딕셔너리 자료형의 키나 set 자료형의 원소가 될 수 있다.<jupyter_code>A = set([1, 2, 3, 3, 2])
A
B = frozenset(['H','H', 'T', 'T'])
B
C = {"\u2660", "\u2661", "\u2662", "\u2663"}
C
type(C)<jupyter_output><empty_output><jupyter_text>- 집합의 크기    - 크기는 집합이 가지는 원소의 갯수를 말한다.    - |A| 기호가 card 기호를 사용하여 나타낸다.    - |A| = card(A) = 3    - 파이썬에서는 len() 사용<jupyter_code>len(A), len(B), len(C)<jupyter_output><empty_output><jupyter_text>- 두 실수 사이에는 항상 다른 실수가 존재한다.- 실수 구간 집합은 무한개의 원소를 가진 집합이다.- D = (x:0<x<=1) - 이러한 집합은 set 또는 frozenset 자료형으로 표현 불가 - 합집합과 교집합    - 합집합 : 각 집합의 원소를 모두 포함하는 집합    - 교집합 : 두 사건 모두에 속하는 원소로만 이루어진 집합    - union, intersection, |, & 연산자 사용<jupyter_code>A1 = set([1, 2, 3, 4])
A2 = set([2, 4, 6])
A3 = set([1, 2, 3])
A4 = set([2, 3, 4, 5, 6])

A1.union(A2)
A2|A1
A3.intersection(A4)
A4 & A3<jupyter_output><empty_output><jupyter_text>- 전체집합, 부분집합, 여집합    - 부분집합 : 어떤 집합의 원소 중 일부만을 포함하는 집합    - 전체집합 : 원래의 집합    - 모든 집합은 자기 자신의 부분집합이다.    - 진부분집합 : 원소의 크기가 더 작은 부분집합    - issubset : 두 집합이 부분집합인지 알아보는 코드<jupyter_code>A3.issubset(A1)
A3 <= A1
A3 <= A2
A3 <= A3 
A3 < A3<jupyter_output><empty_output><jupyter_text>- 차집합과 여집합    - A에서 B를 뺀 차집합(difference) : 어떤 집합 A에 속하면서 다른 집합 B에는 속하지 않는 원소로 이루어진 A의 부분집합    - 여집합 : 전체집합 오메가 중에서 부분집합 A에 속하지 않은 원소로만 이루어진 부분집합 A^c 표시......    - 여집합은 전체집합에서 A를 뺀 차집합과 같다.    - A1.difference(A2)<jupyter_code>A1.difference(A2)
A1 - A2<jupyter_output><empty_output><jupyter_text>- 공집합    - 아무런 원소도 포함하지 않는 집합    - 임의의 집합과 공집합의 교집합, 임의의 집합과 공집합의 합집합은 그 집합 자신이 된다.    - 여집합과 원래의 집합의 교집합은 공집합니다.<jupyter_code>empty_set = set([])
empty_set
empty_set < A1
empty_set.intersection(A1)
empty_set.union(A1)<jupyter_output><empty_output><jupyter_text>- 부분집합의 수    - 공집합과 자기 자신인 집합도 부분 집합이다.    - 2^N : N개의 원소 모두에 의사결정 할 시 세는 갯수    - 원소의 갯수가 N개인 집합은 2^N개의 부분집합을 가진다. - 합집합과 교집합의 분배 법칙    - ax(b+c) = axb + axc<jupyter_code>A = set([1, 3, 5])
B = set([1, 2, 3])
C = set([2, 4, 6])
A.union(B.intersection(C)) == (A.union(B)).intersection((A.union(C)))

A.union(B)&A.union(C)
A.intersection(B.union(C)) == (A.intersection(B)).union(A.intersection(C))
A|(B&C) == (A|B)&(A|C)
A&(B|C) == (A&B) | (A&C)<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.1547950656585754, 'fraction_numerical': 0.03302825308396339, 'mean_word_length': 3.114566284779051, 'pattern_counts': {'":': 0, '<': 36, '<?xml version=': 0, '>': 29, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '7', 'dir': 'jupyter-structured-clean-dedup', 'id': '310770', 'license': 'MIT', 'n_tokens_mistral': 1775, 'n_tokens_neox': 2223, 'n_words': 349, 'path': '6.1_set.ipynb', 'repo_name': 'loveactualry/TIL', 'size': '2513'}