본문 바로가기

Language/python

[ Python 자료형 ] 집합(Set) 관리

반응형

파이썬의 자료형 Set에 대해 점프투파이썬을 보고 개인적으로 정리한 자료

 

  • Key 값의 중복을 허용하지 않는다.
  • 순서가 없다(Unordered).

sethan.py
0.00MB

1. 집합 생성하기

s1 = set([1,2,3]) # 리스트로 부터 set함수 통해 집합 생성
s2 = set("hello") # 문자열로 부터 set함수 통해 집합 생성
s3 = {1,2,3}
s4 = {'ab','cde','fg'}


display(s1)
display(s2)
display(s3)
display(s4)

 

{1, 2, 3}
{'o', 'e', 'h', 'l'}
{1, 2, 3}
{'fg', 'cde', 'ab'}

2. 리스트나 튜플로 변환

 

  • 만약 set 자료형에 저장된 값을 인덱싱으로 접근하려면 다음과 같이 리스트나 튜플로 변환한후 해야 한다.

s1 = set([1,2,3])
l1 = list(s1)
t1 = tuple(s1)

display(l1)
display(l1[0])
display(t1)
display(t1[0])

 

[1, 2, 3]
1
(1, 2, 3)
1

3. 교집합 구하기

s1 = set([1, 2, 3, 4, 5, 6])
s2 = set([4, 5, 6, 7, 8, 9])
s3 = s1 & s2
s4 = s1.intersection(s2)

display(s3)
display(s4)

 

{4, 5, 6}
{4, 5, 6}

4. 합집합 구하기

s1 = set([1, 2, 3, 4, 5, 6])
s2 = set([4, 5, 6, 7, 8, 9])
s3 = s1 | s2
s4 = s1.union(s2)

display(s3)
display(s4)

 

{1, 2, 3, 4, 5, 6, 7, 8, 9}
{1, 2, 3, 4, 5, 6, 7, 8, 9}

5. 차집합 구하기

s1 = set([1, 2, 3, 4, 5, 6])
s2 = set([4, 5, 6, 7, 8, 9])
s3 = s1 - s2
s4 = s1.difference(s2)

display(s3)
display(s4)

 

{1, 2, 3}
{1, 2, 3}

6. 값 1개 추가하기


s1 = set([1, 2, 3])
s1.add(4)

display(s1)

 

{1, 2, 3, 4}

7. 값 여러개 추가하기


s1 = set([1, 2, 3])
s1.update([4, 5, 6])

display(s1)

 

{1, 2, 3, 4, 5, 6}

 

8. 특정값 제거하기


s1 = set([1, 2, 3])
s1.remove(2)

display(s1)

 

{1, 3}
반응형

'Language > python' 카테고리의 다른 글

[ Python 자료형 ] numpy 관리  (0) 2019.12.08
[ Python 자료형 ] Dataframe 관리  (0) 2019.12.08
[ Python 자료형 ] Dictionary  (0) 2019.12.08
[ Python 자료형 ] Tuple  (0) 2019.12.08
[ Python 자료형 ] 문자열 관리  (0) 2019.12.06