python/python 기초

8. Python 데이터 타입 5 - set(집합), bool(불리언)

Memory! 2022. 4. 24. 23:08
728x90
반응형
  • Numeric Types: int(정수), float(소수), complex(복소수)
  • Sequence Types: str(문자열), list(리스트), tuple(튜플)
  • Mapping Type: dict(딕셔너리)
  • Set Types: set(집합)
  • Boolean Type: bool(불리언)
  • Binary Types: bytes, bytearray, memoryview

 

Set (집합) 타입

1. set 만들기

- set는 set()명령어를 통해 만들수 있습니다. ()안에 list 형태의 데이터가 들어가야 합니다.

- 또는 dict와 비슷하게 {}를 통해서 만들수 있습니다. (dict의 경우 key, value 혈태가 되어야 함)

- set type은 한글 명칭(집합)에서 알 수 있듯이 중복이 불가능 하며, 순서가 없습니다.

--> List 타입의 데이터에서 중복을 제거할 때 많이 사용합니다.

>>> a = set([1,2,3,4])
>>> a
{1, 2, 3, 4}

>>> b = {3,4,7,8}
>>> type(b)
<class 'set'>

2. set 집합 문법

- set는 집합이므로 합집합, 교집합, 차집합과 같은 집합 문법으로 사용 가능합니다.

a = set([1,2,3,4])
b = {3,4,7,8}

# 교집합
>>> a.intersection(b)
{3, 4}

>>> a & b
{3, 4}

# 합집합
>>> a.union(b)
{1, 2, 3, 4, 7, 8}

>>> a | b
{1, 2, 3, 4, 7, 8}

# 차집합
>>> a.difference(b)
{1, 2}

>>> a - b
{1, 2}

# 대칭 차집합 = 합집합 - 교집합
>>> a ^ b
{1, 2, 7, 8}

3. set (집합) 기본 함수

1) 값 추가 - add()

>>> a.add(7)
>>> a
{1, 2, 3, 4, 7}

2) 값 여러개 한번에 추가 - update()

>>> a.update([5,6])
>>> a
{1, 2, 3, 4, 5, 6, 7}

3) 값 제거 - remove()

>>> a.remove(7)
>>> a
{1, 2, 3, 4, 5, 6}

3) 값 여러개 제거 - 차집합을 이용

>>> a = a - {4,5,6}
>>> a
{1, 2, 3}

4. set 활용 - 중복 없애기

집합은 중복을 허용하지 않기 때문에 List 형태의 데이터에서 중복을 제거할 때 많이 사용합니다.

>>> a_list = [1,1,2,3,4,5,5,6,7,8,9,9,9,9,10]
>>> a_list
[1, 1, 2, 3, 4, 5, 5, 6, 7, 8, 9, 9, 9, 9, 10]

# 중복 없애기
>>> set(a_list)
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}

# 중복 없앤 후 다시 list형태로 변환
>>> a_list = list(set(a_list))
>>> a_list
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

Bool(불리언)

- bool 타입은 True, False (참,거짓) 두가지 형태만 갖는 데이터 타입입니다.

- bool 타입은 if문과 같이 조건문을 사용할 때 사용합니다.

- 다른 데이터 타입의 빈 자료형 ("", {}, (), []), 0, None 타입의 경우는 False 나머지는 모두 True를 반환합니다.

# bool type 확인하기
>>> bool("")
False
>>> bool([])
False
>>> bool({})
False
>>> bool(())
False
>>> bool(0)
False
>>> bool(None)
False
>>> bool({1})
True

 

728x90
반응형