1. 셋 생성하기: set()
셋을 생성할 때는 set()함수 또는 중괄호{} 안에 콤마(,)로 구분된 값을 넣으면 된다.
<!> []는 빈 리스트를 생성한다. {}는 빈 셋을 생성할까? 그렇지 않다. {}는 빈 딕셔너리를 생성한다.
2. 변환으로 셋 생성하기: set()
리스트, 문자열, 튜플, 딕셔너리에서 중복된 값을 삭제하면서 셋을 생성할 수 있다.
<!> 딕셔너리를 set()함수를 통해 셋으로 변환할 때, 오직 키만 사용한다.

3. 길이 얻기: len()
len(set이름)
4. 항목 추가하기: add()
set이름.add(추가할 항목)
5. 항목 삭제하기: remove()
set이름.remove(삭제할 항목 값)
6. 순회하기: for & in
딕셔너리처럼 셋에 있는 모든 항목을 순회할 수 있다.
7. 멤버십 테스트: in
가장 일반적으로 사용되는 셋의 용도이다.

8. 콤비네이션과 연산자
Set의 조합(combination)을 어떻게 확인할까?
셋 교집합(set intersection)
- 연산자인 앤드(&)를 사용한다.
- 셋 이름.intersection(셋 이름)으로 사용하는 intersection()메소드를 사용한다.
셋 합집합(set union)
- 셋 합집합(set union) 연산자인 오어(|)를 사용한다.
- 셋 이름.union(셋 이름)으로 사용하는 union()메소드를 사용한다.

<!> '또는' 때문에 '|'연산자를 써야하는 것으로 착각하기 쉽다!
하지만 전혀 다른 방향으로 '&'연산자를 사용함을 확인할 수 있다.
&연산자를 이용하여 7번 마지막 예제를 좀 더 예쁘게 해결할 수 있다.

아래는 <'&'연산자, intersection메소드>와 <'|'연산자, union()메소드>에 대한 예제 코드이다.

<!> 교집합, 합집합 연산자와 메소드가 어떤 식으로 굴러가는지를 파악하자
셋 차집합(set difference)
- 연산자 ' - '를 사용한다
- 셋 이름.difference(셋 이름)으로 사용하는 difference()메소드를 사용한다.
- 앞의 셋에만 존재하는 항목을 구하는 것임.

외에도 남은 몇몇 메소드가 있다
'python' 카테고리의 다른 글
처음 시작하는 파이썬 7장 연습문제 7.11 (0) | 2021.10.07 |
---|