2일차 파이썬 프로그래밍 기초_집합편

집합을 배워보자
집합! 에는 set이라는 키워드를 사용한다고 한다.
s1 = set([1,2,3])
s1 → {1, 2, 3}
s2 = set("Hello")
s2 → {'e', 'H', 'l', 'o' }
문자열 그리고 리스트도 사용할 수 있다.
set에는 중요한 특징이 두가지 있다.
1. 중복을 허용하지않는다
2. 순서가 없다.
이렇게 순서가 없기 때문에 인덱싱을 사용할 수가 없다.
인덱싱으로 접근하기 위해서는
이 집합 set을 리스트나 튜플로 변환해줘야 한다.
s = set([1,2,3])
set > list
l = list(s)
l → [1,2,3]
l[1] → 2
set > tuple
t = tuple(s)
t → ( 1, 2, 3 )
t[1] → 2
집합인 만큼 교집합 합집합 차집합이 안 나올 수가 없지!
s1 = set([1, 2, 3, 4, 5, 6])
s2 = set([4, 5, 6, 7, 8, 9])
교집합 ===> & or intersection
s1 & s2 → { 4, 5, 6 }
또는
s1.intersection(s2) → { 4, 5, 6 }
s2.intersection(s1)도 동일한 결과를 얻을 수 있다.
합집합 ===> | or union
s1 | s2 → { 1, 2, 3, 4, 5, 6, 7, 8, 9 }
또는
s1.union(s2) → { 1, 2, 3, 4, 5, 6, 7, 8, 9 }
s2.union(s1)도 동일한 결과를 얻을 수 있다.
중복한 값은 한번 써준다.
차집합 ===> - or difference
s1 - s2 → { 1, 2, 3 }
s2 - s1 → { 7, 8, 9 }
또는
s1.difference(s2) → { 1, 2, 3 }
s2.difference(s1) → { 7, 8, 9 }
★ 집합 관련 함수
값 1개 추가하기 ===> add
s = set([1, 2, 3])
s.add(4)
s → {1, 2, 3, 4}
값 여러 개 추가하기 ===> update
s = set([1, 2, 3])
s.update([4, 5, 6])
s → {1, 2, 3, 4, 5, 6}
특정한 값 제거하기 ===> remove
s = set([1, 2, 3])
s.remove(2)
s → {1, 3}
그으읏