2023. 11. 7. 15:35ㆍNAVER AI Tech/Python & AI math
1. 스택, 큐
2. 튜플, 집합
3. dictionary
4. collection 모듈
stack : Last In First Out 구조. 쌓기.
- append, pop으로 동작
queue : First In Frist Out 구조. 선입선출
- append, pop(0)으로 동작
- 이때 from collections import deque로 구현해서 쓰는게 빠르다.
tuple : 값의 변경이 불가능한 리스트
- 왜 쓰냐? 변경하면 안되는 데이터를 저장할 때 사용. 예를 들면 주민번호 같은것들.
- 사용사 실수에 의한 에러를 사전에 방지.
set : 집합.(데이터 내의 원소 중복을 방지)
- add, remove로 동작.
- 여러 원소 추가,제거는 update(), discard()로 동작.
- s1.union(s2), s1.intersection(s2), s1.difference(s2) 등 합집합, 교집합, 차집합 기능 있음
dictionary : key:value로 저장하는 구조
- dictionary.keys(), dictionary.values(), dictionary.items() 로 key, value, (key,value) 값들을 가져올 수 있음.
collections : deque, defaultdict, Counter, namedtuple
1. from collections import deque
- dq.append(), dq.appendleft(), dq.pop(), dq.popleft() 으로 동작.
- linked list구조라서 dq.rotate(number)으로 회전이 됨.
2. defaultdict : dictionary에 key값이 없을 때 error가 아니라 default 값을 지정하는 것.
- d = defaultdict(10)
- d['name'] ->error가 아닌 10 반환
3. Counter : input 객체에 대해 원소 별 몇개가 있는지 자동으로 반환해줌.
- c = Counter(['b', 's', 's', 'b'])
- print(c) -> {'b':2, 'c':2} 이렇게 set 형태로 반환.
- set은 덧셈, 뺄셈, 교집합등 연산이 가능하니까 이런것도 지원함.
4. namedtupe : 약간 함수처럼 객채, 인자 이름을 저장해주는 것
- point = namedtuple('Point', ['x', 'y'])
- Point라는 객체 선언, 이름은 'Point' 인자는 'x', 'y'
- p = Point(x=11, y=22)
- print(p.x, p.y) 가능
'NAVER AI Tech > Python & AI math' 카테고리의 다른 글
9. (Python) 객체 지향 프로그래밍 (0) | 2023.11.08 |
---|---|
8. (Python) code 작성 시 꿀팁 (0) | 2023.11.07 |
6. (Python) String 과 Function concept (0) | 2023.11.07 |
5. (Python) 조건문, 반복문 (0) | 2023.11.07 |
4. (Python) Function & Console I/O (0) | 2023.11.07 |