집합(set)은 파이썬 2.3부터 지원하기 시작한 자료형으로, 집합에 관련된 것을 쉽게 처리하기 위해 만든 자료형이다.
- 집합 자료형은 다음과 같이 set 키워드를 사용해 만들 수 있다.
- 중복을 허용하지 않는다. 중복을 제거하기 위한 필터 역할로 쓰인다.
- 순서가 없기 때문에 인덱싱을 통해서 자료를 조회할 수 없다.
- 인덱싱을 사용하려면 리스트, 튜플 자료형으로 변환한 수 사용할 수 있다. list(), tuple() 변환함수 사용
생성하기
my_set = set()
# my_set = {} # 딕셔너리 만드는 것임
#print(type(set())) # <class 'set'>
my_set = set([1,1,2,3,6,7,8,8,8,9,10]) # 중복 제거 필터링 자동으로! 리스트 형식으로 값 넣어도 가능
my_set = set((1,1,2,3,6,7,8,8,8,9,10)) # 튜플 형식으로 값 넣어도 가능
>> {1, 2, 3, 6, 7, 8, 9, 10}
my_set # set()
값 추가하기
- add() - 하나의 값을 추가하는 기능
- update() - 여러 개의 값을 추가하는 기능 | 하나는?
my_set2 = set()
my_set2.add(1)
my_set2.add(2)
my_set2.add(3)
my_set2 # {1, 2, 3}
datas = {4,5,6,7}
#my_set2.update(8) # TypeError: 'int' object is not iterable
my_set2.update({8}) # 가능
my_set2 # {1, 2, 3, 8}
값 삭제하기
remove() - 사용해서 제거하고자 하는 값을 직접 입력한다
my_set2 # {1, 2, 3, 8}
my_set2.remove(8)
my_set2 # {1, 2, 3}
집합함수
- 교집합 : & , intersection()
- 합집합 : | , union()
- 차집합 : - , difference()
a = {1,2,3,4,5}
b = {3,4,5,6,7}
a&b
a.intersection(b) # {3, 4, 5}
a|b
a.union(b) # {1, 2, 3, 4, 5, 6, 7}
a-b
a.difference(b) # {1, 2}
'Python > Python 기초' 카테고리의 다른 글
[Python] 클래스 정의와 인스턴스 생성 (0) | 2022.03.15 |
---|---|
[Python] 함수 (0) | 2022.03.12 |
[Python] 딕셔너리 자료형 (0) | 2022.03.12 |
[Python] 튜플 자료형 (0) | 2022.03.12 |
[Python] 리스트 자료형 (0) | 2022.03.12 |
댓글