Sets - Learn Python 3 - Snakify

Lesson 10
세트


1. 세트 란 무엇인가요?

Python의 Set 은 수학 집합과 동일한 데이터 구조입니다. 다양한 요소로 구성 될 수 있습니다. 집합의 요소 순서는 정의되지 않습니다. 집합의 요소를 추가 및 삭제할 수 있으며 집합의 요소를 반복 할 수 있으며 집합 (표준화, 교차점, 차이)에 대한 표준 작업을 수행 할 수 있습니다. 그 외에도 요소가 집합에 속하는지 확인할 수 있습니다.

요소가 정렬 된 목록으로 저장되는 배열과는 달리 집합의 요소 순서는 정의되지 않습니다 (또한 집합 요소는 일반적으로 집합의 모양 순으로 저장되지 않으므로 요소가 집합에 더 빨리 속하는지 검사 할 수 있음) 세트의 모든 요소를 ​​통과하는 것보다).

변경할 수없는 데이터 유형은 집합의 요소가 될 수 있습니다 : 숫자, 문자열, 튜플. 변경 가능 (변경 가능) 데이터 유형은 세트의 요소가 될 수 없습니다. 특히 list는 집합의 요소가 될 수 없지만 튜플 can 일 수 있고 다른 집합은 집합의 요소가 될 수 없습니다. 불변의 요구 사항은 컴퓨터가 메모리에서 어떻게 세트를 표현하는지에 따라 다릅니다.

Advertising by Google, may be based on your interests

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)

AB 가 같은 세트이기 때문에 True 를 인쇄합니다.

각 요소는 한 번만 입력 할 수 있습니다. set('Hello'){'H', 'e', 'l', 'o'} 네 요소 집합을 반환합니다.

Advertising by Google, may be based on your interests

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)

세트에서 요소를 제거하는 두 가지 방법이 있습니다 : discardremove . 그들의 행동은 삭제 된 항목이 세트에없는 경우에만 달라집니다. 이 경우, 메소드 discard 는 아무것도 실행하지 않고, 메소드 remove 는 예외 KeyError throw합니다.

마지막으로 pop 은 세트에서 하나의 임의의 요소를 제거하고 그 값을 리턴합니다. 세트가 하늘의 경우, popKeyError 예외를 생성합니다.

함수 list 사용하여 집합을 목록으로 변환 할 수 있습니다.

Advertising by Google, may be based on your interests

4. 세트 작업

이것은 파이썬에서 잘 알려진 작업을 수행하는 방법입니다 :

A | 비
A. 연합 (B)
세트 AB 의 합집합 인 세트를 리턴합니다.
A | = B
A. 업데이트 (B)
배열 B 의 모든 요소를 ​​집합 A 추가합니다.
A & B
A. 교차 (B)
세트 AB 의 교집합 인 세트를 리턴합니다.
A = B
A.intersection_update (B)
세트 A 잎 세트 B 속하는 아이템.
A - B
A. 차이 (B)
AB 의 차 집합 ( A 포함 된 요소이지만 B 포함되지 않은 요소)을 반환합니다.
A - = B
A. 차이점 갱신 (B)
세트 A 에서 B 모든 요소를 ​​제거합니다.
A ^ B
대칭 오차 (B)
세트 AB ( A 또는 B 에 속하지만 동시에 두 세트에 속하지 않는 요소)의 대칭 차이를 구합니다.
A ^ = B
대칭 _ 차이 _ 업데이트 (B)
A 에 집합 AB 의 대칭 차이를 씁니다.
A <= B
A.issubset (B)
AB 의 부분 집합 true 반환 true .
A> = B
A. 세트 (B)
BA 의 부분 집합 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
Advertising by Google, may be based on your interests