블로그 이미지
김고노

calendar

1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28

Notice

2018. 3. 20. 14:38 파이썬 복습

집합 자료형이란?



말그대로 '집합' 이다.



집합에 관련된 것들을 쉽게 처리하기 위해 만들어진 자료형임.




집합 자료형은 set 키워드를 이용해 만들 수 있음.


>>>s1 = set([1,2,3])

>>>s1

{1,2,3}



문자열도 가능


>>>s2 = set("Hello")

>>>s2

{'e', 'l', 'o', 'H'}




집합 자료형의 특징



위에 set("Hello") 를 보면 알겠지만


★중복을 허용하지 않음.


중복을 허용하지 않는 set의 특징은 자료형의 중복을 제거하기 위한

필터 역할로 종종 사용되기도 함.



★순서가 없다(Unordered)




리스트나 튜플과 달리 딕셔너리 처럼 순서가 없는 자료형이라


인덱싱을 지원하지 않음.



set 자료형에 저장된 값을 인덱싱으로 접근하려면 리스트나 튜플로 변환후 해야함.




>>>s1 = set([1,2,3])

>>>l1 = list(s1)    ←리스트로 변환

>>>l1

[1,2,3]

>>>l1[0]

1


>>>t1 = tuple(s1)  ←튜플로 변환

>>t1

(1, 2, 3)

>>>t1[0]

1





집합 자료형 활용하는 방법



교집합, 합집합 ,차집합 구하기



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

>>>s2 = set([4,5,6,7,8,9])



1. 교집합


기호


>>>s1 & s2

{4, 5, 6}


intersection 함수


>>>s1.intersection(s2)

{4, 5 ,6}



s2.intersection(s1) 을 사용해도 결과는 같음.





2. 합집합


기호


>>>s1 │ s2

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



이 기호 뭔지 못찾겠음 ㅡㅡ


-> 찾음  | 키는  역슬래시 \ 위의키 였음



union 함수


>>>s1.union(s2)

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



s2.union(s1) 을 사용해도 결과는 같음.





3. 차집합



기호


>>>s1 - s2

{1, 2, 3}

>>>s2 - s1

{8, 9, 7}



difference 함수


>>>s1.difference(s2)

{1, 2, 3}

>>>s2.difference(s1)

{8, 9, 7}





집합 자료형 관련 함수들



값 1개 추가하기(add)


>>>s1 = set([1, 2, 3])

>>>s1.add(4)

>>>s1

{1, 2, 3, 4}




값 여러 개 추가하기(update)


>>>s1 = set([1, 2, 3])

>>>s1.update([4, 5, 6])

>>>s1

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



★update 안에 리스트던 튜플이던 문자열이던 상관없이 집합에 추가됨.



특정 값 제거하기(remove)



>>>s1 = set([1, 2, 3])

>>>s1.remove(2)

>>>s1

{1, 3}


'파이썬 복습' 카테고리의 다른 글

3/21 자료형의 값을 저장하는 공간, 변수  (0) 2018.03.21
3/21 자료형의 참과 거짓  (0) 2018.03.21
3/19 딕셔너리 자료형  (0) 2018.03.19
3/18 튜플 자료형  (0) 2018.03.18
3/16 리스트 자료형  (0) 2018.03.16
posted by 김고노