Python Sequence
- 컨테이너(Container)
- 서로 다른 자료형을 담을 수 있는 자료형
ex) list
, tuple
, collections.deque
- 플랫(Flat)
- 한 종류의 자료형만 담을 수 있는 자료형
ex) str
, bytes
, bytearray
, array.array
, memoryview
- 한 종류의 자료형만 담고 있기 때문에 연산 속도가 빠르다.
- 가변(Mutable)
ex) list
, bytearray
, array.array
, memoryview
, collections.deque
- 불변(Immutable)
ex) tuple
, str
, bytes
- 제너레이터(Generator)
- sequence result를 만들어내고 local state를 유지하며, 다음번에 반환할 값의 위치를 정확하게 가지고 있다.
Code 1
*
: unpacking
**
: packing
immutable
vs mutable
sort
vs sorted
list
vs array
Code 2
해시테이블
- Key에 Value를 저장하는 구조 (적은 리소스로 많은 데이터를 효율적으로 관리)
- ex) python
dict
- 키 값의 연산 결과에 따라 직접 접근이 가능한 구조.
- Key 값을 해싱 함수 -> 해시 주소 -> Key에 대한 Value 주소 참조.
setdefault
vs dict
Code 3
dict
, set
: Key 중복 허용 X
- 심화 단계 : 읽기 전용, 최적화
Code 4