파이썬 기초문법 5

6. 집합 (Set)

  • 집합은 주머니에 들어있는 데이터들이다.
  • 즉 순서가 없다.
  • 따라서 indexing또한 없다.
  • 중복된 데이터를 포함하지 않는다.

6.1 집합 생성 {}

s = {1, 2, 3}
s

type(s)

s[1]  ## 2가 나올것 같지만 error 가 뜬다.
      ## Indexing이 안되기 때문이다.

s2 = {1, 2, 2, 3}  ## 중복이 허용이 안됨으로 2는 한번만 프린트 된다.
s

6.2 집합의 연산

s1 = {1, 2, 3, 4, 5, 6}
s2 = {2, 4 ,6, 8, 10, 12}

6.2.1 교집합

s1 & s2

s1.intersection(s2)

s2.intersection(s1)

6.2.2 합집합

s1 | s2

s1 + s2  ## error가 뜬다

s1.union(s2)  ## 위와 동일하게 합집합이 가능하다.

6.2.3 차집합

s1 - s2  ## 차집합에선 -사용이 가능하다.

s2 - s1

6.2.4 예시 리스트에서 같은 단어 찾기

news1 = "I am a boy."
news2 = "You are a girl."

# 2개의 뉴스 기사의 겹치는 단어의 종류.
# 단어의 종류 수 == 서로 다른 단어의 개수
# 겹치는 단어의 종류 == 2개의 뉴스 집합이 공통으로 가지고 있는 단어

set(news1.split()) & set(news2.split())

6.3 집합 관련 함수

6.3.1 집합에 원소 하나 추가하기 add()

s = set()  ## list와 tuple과는 다르게 [], {}만으론 set생성이 안된다.
s

s.add(1)
s

6.3.2 집합에 여러 원소 추가하기 updata()

  • 합집합과는 다르게 list도 set에 추가 할 수 있다.
  • 만들어진 s 자체에 update를 한다.
s = {1, 2, 3}
s.update({4, 5})  ## s.union({4, 5}) print결과는 갖지만 id가 다르다.
s

s.update([7, 8, 9])
s

6.3.3 집합에서 원소 제거하기 remove()

s = {1, 2, 3, 4, 5, 7, 8, 9}
s.remove(3)
s

## 6.4 list를 set으로 변환시키기

L = [1, 2, 2, 3, 3, 3, 4, 5, 5, 6, 7]
set(L)

좋은 웹페이지 즐겨찾기