set 역시 list를 비롯한 다른 collection과 마찬가지로 다루기 위한 함수들이 존재하고 대표적으로 사용되는 함수들은 아래와 같다. add(elem) : 요소 elem을 set에 추가 remove(elem) : 요소 elem을 set에서 제거하는데 존재하지 않을 수 KeyError 발생 discard(elem) : 요소 elem을 set에서 제거하지만 없어도 error는 발생하지 않음 pop() : 임의의 요소를 반화하면서 제거. set가 비어있다면 KeyError 발생 clear() : set의 모든 요소 제거 참고 - https://docs.python.org/3/library/stdtypes.html#set-types-set-frozenset
# set 선언 s = set() # list로 casting l = list(s) 파이썬 공식 사이트에 따른 set에 대한 설명은 아래와 같다. : set 객체는 해시 가능한 별개의 객체들의 정렬되지 않은 컬렉션(collection이다. 멤버십 확인, 배열에서 중복 제거, 교집합, 합칩합, 차집합, 대칭 합 같은 수학 연산 계산 등에 주로 사용된다. 다른 컬렉션과 마찬가지로 set는 x in set, len(set), for x in set를 지원한다. 정렬되지 않은 컬렉션이기에 set는 요소의 위치나 삽입 순서를 기록하지 않는다. 따라서 set는 index나 slice 또는 기타 순서에 대한 동작을 지원하지 않는다. 현재 기본 제공 set 유형에는 set와 frozenset 두 가지가 있다. set ..
변수나 자료형 등이 중복으로 나타나는지와 같은 확인을 위해 'in'이라는 키워드를 많이 사용한다. 이때 Set와 List 중 어떤 것을 사용하느냐에 따라 속도의 차이가 매우 커질 수 있다. Set가 List에 비해 일반적으로 빠른 성능을 보이는데 이는 Set가 Hash Table로 구현이 돼있는 반면, List는 배열로 구현돼있기 때문이다. Hash Table의 경우 검색(lookup), 삽입(isertion), 삭제(deletion)에 대해 O(1)의 시간 복잡도를 갖지만, 배열의 경우 O(n) 을 갖기 때문이다. 아래 코드를 통해 시간의 차이를 확인할 수 있다. import time my_list = list(range(1000000)) my_set = set(my_list) start_time = ..
- Total
- Today
- Yesterday
- 파이썬
- vertex shader
- Computer Graphics
- 이코노미스트 에스프레소
- 딕셔너리
- socket programming
- 티스토리챌린지
- I2C
- 오블완
- 안드로이드
- 투 포인터
- 소켓 프로그래밍
- defaultdict
- tf-idf
- machine learning
- The Economist
- C++
- The Economist Espresso
- min heap
- Hash Map
- 리트코드
- 머신 러닝
- java
- join
- Python
- leetcode
- Android
- 이코노미스트
- ml
- DICTIONARY
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |