Lesson 10
 세트
    1. 세트 란 무엇인가요?
Python의 Set 은 수학 집합과 동일한 데이터 구조입니다. 다양한 요소로 구성 될 수 있습니다. 집합의 요소 순서는 정의되지 않습니다. 집합의 요소를 추가 및 삭제할 수 있으며 집합의 요소를 반복 할 수 있으며 집합 (표준화, 교차점, 차이)에 대한 표준 작업을 수행 할 수 있습니다. 그 외에도 요소가 집합에 속하는지 확인할 수 있습니다.
요소가 정렬 된 목록으로 저장되는 배열과는 달리 집합의 요소 순서는 정의되지 않습니다 (또한 집합 요소는 일반적으로 집합의 모양 순으로 저장되지 않으므로 요소가 집합에 더 빨리 속하는지 검사 할 수 있음) 세트의 모든 요소를 통과하는 것보다).
변경할 수없는 데이터 유형은 집합의 요소가 될 수 있습니다 : 숫자, 문자열, 튜플. 변경 가능 (변경 가능) 데이터 유형은 세트의 요소가 될 수 없습니다. 특히 list는 집합의 요소가 될 수 없지만 튜플 can 일 수 있고 다른 집합은 집합의 요소가 될 수 없습니다. 불변의 요구 사항은 컴퓨터가 메모리에서 어떻게 세트를 표현하는지에 따라 다릅니다.
2. 집합을 정의하는 방법
 대괄호로 묶인 모든 요소의 이름을 지정하여 집합을 간단하게 정의 할 수 있습니다. 유일한 예외는 빈 집합 이며, set() 함수를 사용하여 만들 수 있습니다. set(..) 이리스트, 문자열 또는 튜플을 매개 변수로 가지면 요소로 구성된 집합을 반환합니다. 예를 들어,
A = {1, 2, 3}
A = set('qwerty')
print(A)
 {'e', 'q', 'r', 't', 'w', 'y'} 를 출력으로 출력합니다. 
요소의 순서는 중요하지 않습니다. 예를 들어, 프로그램
A = {1, 2, 3}
B = {3, 2, 3, 1}
print(A == B)
 A 와 B 가 같은 세트이기 때문에 True 를 인쇄합니다. 
 각 요소는 한 번만 입력 할 수 있습니다. set('Hello') 은 {'H', 'e', 'l', 'o'} 네 요소 집합을 반환합니다.
    
3. 요소를 사용한 작업
 len 함수를 사용하여 세트의 요소 수를 얻을 수 있습니다. 
 또한 다음과 같은 루프 for 사용하여 집합의 모든 요소를 반복 할 수 있습니다 (정의되지 않은 순서로!).
primes = {2, 3, 5, 7, 11}
for num in primes:
    print(num)
 in 키워드 in 사용하여 요소가 집합에 속하는지 여부를 확인할 수 있습니다 a in A 와 같은 표현식은 bool 유형의 값을 반환합니다. 마찬가지로 반대의 작업이 not in . 세트에 요소를 추가하려면 add 메소드가 add .
A = {1, 2, 3}
print(1 in A, 4 not in A)
A.add(4)
 세트에서 요소를 제거하는 두 가지 방법이 있습니다 : discard 및 remove . 그들의 행동은 삭제 된 항목이 세트에없는 경우에만 달라집니다. 이 경우, 메소드 discard 는 아무것도 실행하지 않고, 메소드 remove 는 예외 KeyError throw합니다. 
 마지막으로 pop 은 세트에서 하나의 임의의 요소를 제거하고 그 값을 리턴합니다. 세트가 하늘의 경우, pop 는 KeyError 예외를 생성합니다. 
 함수 list 사용하여 집합을 목록으로 변환 할 수 있습니다.
    
4. 세트 작업
이것은 파이썬에서 잘 알려진 작업을 수행하는 방법입니다 :
|  A | 비  A. 연합 (B)  |  세트  A와B의 합집합 인 세트를 리턴합니다. | 
|  A | = B  A. 업데이트 (B)  |  배열  B의 모든 요소를 집합A추가합니다. | 
|  A & B  A. 교차 (B)  |  세트  A와B의 교집합 인 세트를 리턴합니다. | 
|  A = B  A.intersection_update (B)  |  세트  A잎 세트B속하는 아이템. | 
|  A - B  A. 차이 (B)  | A와B의 차 집합 (A포함 된 요소이지만B포함되지 않은 요소)을 반환합니다. | 
|  A - = B  A. 차이점 갱신 (B)  |  세트  A에서B모든 요소를 제거합니다. | 
|  A ^ B  대칭 오차 (B)  |  세트  A와B(A또는B에 속하지만 동시에 두 세트에 속하지 않는 요소)의 대칭 차이를 구합니다. | 
|  A ^ = B  대칭 _ 차이 _ 업데이트 (B)  | A에 집합A와B의 대칭 차이를 씁니다. | 
|  A <= B  A.issubset (B)  | A가B의 부분 집합true반환true. | 
|  A> = B  A. 세트 (B)  | B가A의 부분 집합true반환true. | 
|  A <B  | A <= B and A != B같습니다A <= B and A != B | 
|  A> B  | A >= B and A != B같습니다A >= B and A != B |