728x90
set(집합) 자료형
- set()키워드를 사용하거나 {}(중괄호) 내부에 여러종류의 자료를 넣어 선언
- 중복되지 않는 요소들을 저장할 수 있는 자료형
- 중복된 요소를 허용하지 않고, 순서가 없는 자료구조
- 셋내의 요소를 추가, 삭제, 수정 가능
- 집합연산에 용이
1. 집합 자료형은 중복된 요소를 허용하지 않고, 순서가 없는 자료 구조이다.
ex_set = set({1,5,5,6,4,2,3})
print(ex_set) #{1, 2, 3, 4, 5, 6}
ex_set = set({1,5,5,6,4,2,3})
print(ex_set[1]) TypeError: 'set' object is not subscriptable
- 순서가 없기 때문에 리스트나 튜플과 같이 인덱싱이 불가능하다.
- set의 자료가 문자열인 경우 순서가 없기 때문에 출력되는 ex_set의 결과가 다를 수 있다.
ex. {가,나,다} 로 출력된 set 자료형이 {다,나,가}로 출력될 수 있다.
2. set의 메소드
- set자료형은 요소를 추가, 삭제, 수정등이 가능하다.
set.add(x) : 원소x를 집합set에 추가하기
set.update({x,y,z}) : 원소 여러개를 집합set에 추가하기
set.remove(x) : 원소x를 집합set에서 제거하기 (x가 존재하지 않을 경우 KeyError발생)
set.discard(x) : 원소x가 집합set에 존재한다면 제거
set.pop() : 집합set에서 앞에서 부터 원소 하나씩 제
set.clear() : 집합set의 모든 원소 삭제
ex_set = set({1,5,5,6,4,2,3})
ex_set.add(7) #{1, 2, 3, 4, 5, 6, 7}
ex_set.update({8,9,10}) #{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
ex_set.remove(10) #{1, 2, 3, 4, 5, 6, 7, 8, 9}
ex_set.discard(10) #{1, 2, 3, 4, 5, 6, 7, 8, 9}
ex_set.discard(9) #{1, 2, 3, 4, 5, 6, 7, 8}
ex_set.pop() #{2, 3, 4, 5, 6, 7, 8}
ex_set.clear() #set()
3. set의 집합연산
- set자료형은 집합연산에 용이하다.
s1 = {1,2,3,4,5}
s2 = {4,5,6,7,8}
# 합집합
print(s1|s2) #{1, 2, 3, 4, 5, 6, 7, 8}
print(s1.union(s2)) #{1, 2, 3, 4, 5, 6, 7, 8}
# 교집합
print(s1&s2) #{4, 5}
print(s1.intersection(s2)) #{4, 5}
# 차집합
print(s1-s2) #{1, 2, 3}
print(s1.difference(s2)) #{1, 2, 3}
'Python > Python' 카테고리의 다른 글
[Python] 16. 리스트 중복 제거하기 (0) | 2024.09.08 |
---|---|
[Python] 15. dictionary(딕셔너리) (0) | 2024.09.08 |
[Python] 13. reverse()메소드와 reversed()함수 (0) | 2024.09.08 |
[Python] 12. sort()메소드와 sorted()함수 (0) | 2024.09.08 |
[Python] 11. 파이썬의 내장함수 map() (0) | 2024.09.08 |