본문 바로가기

python

처음 시작하는 파이썬 8장 Set

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