백준 알고리즘의 정렬 단계를 진행하기 위해 set에 대해 다시 공부 !!
set 함수 특징
집합(set)은 자료형 함수로 집합에 관련된 것을 처리하기 위해 사용 된다.
집합함수는 중괄호{}를 사용해서 표기하지만 아래와 같이 빈 set 함수를 만들게 되면 딕셔너리로 나오게 된다.
a = {1, 2, 3}
b = {}
print(type(a)) # <class 'set'>
print(type(b)) # <class 'dict'>
그래서 set에 값을 추가하기 위해 add를 사용할 때 유의 해야 한다.
a에는 추가가 되지만 b는 딕셔너리기 때문에 에러가 나온다.
a = {1, 2, 3}
b = {}
a.add(4)
b.add(4)
print(a) # {1, 2, 3, 4}
print(b) # AttributeError: 'dict' object has no attribute 'add'
set은 중복이 안됨
a = {1, 1, 1, 2, 3, 1}
print(a) # {1, 2, 3}
set은 순서 개념이 없음
그래서 숫자를 set함수를 통해 출력할 때 오름차순으로 출력된다.
a = {5, 3, 4, 2, 1}
print(a) # {1, 2, 3, 4, 5}
순서 개념이 없기 때문에 set에 있는 요소를 꺼내서 사용할 수 없다.
그렇기 때문에 리스트로 전환해서 사용할 수 있다.
a = {1, 2, 3, 1, 1}
b= list(a)
print(b) # [1, 2, 3]
print(b[1]) # 2
set에 값을 추가하거나 제거할 수 있다.
add : 값 1개 추가
update : 여러 개의 값 추가 (리스트 형태로 추가해주어야 한다)
remove : 특정 값 제거
a = {1, 2, 3, 4}
a.add(5)
print(a) # {1, 2, 3, 4, 5}
a.update([6, 7, 8])
print(a) # {1, 2, 3, 4, 5, 6, 7, 8}
a.remove(1)
print(a) # {2, 3, 4, 5, 6, 7, 8}
'코딩공부' 카테고리의 다른 글
[python] 재귀함수 회문 검사 / TIL_220920 (0) | 2022.09.20 |
---|---|
[python] 재귀함수(Recursive Function) / TIL_220919 (0) | 2022.09.19 |
[python]args, kwargs / TIL_220915 (0) | 2022.09.15 |
python map 함수 _ TIL 4일차 (0) | 2022.09.01 |
CSS display: grid (0) | 2022.08.29 |
댓글