머신러닝/인공지능(AI) 기초 다지기

1. 파이썬 기초 - Python Data Structure

#fdd4ff 2023. 10. 17. 17:37
해당 포스트의 내용 출처는 Naver boostcourse : 인공지능(AI) 기초 다지기 에 있습니다.

원래는 넘어갈까 했지만 내용을 들어보니 코딩테스트도 준비하는 입장에선 필요한 함수들이 많아서
첫 번째 챕터에선 Python Data Structure과 Pythonic Code 강의 내용을 쫙 정리를 해보고자 한다.



dictionary

- dictionary 의 정보를 알기위해서 items() 메소드를 사용하면 된다.
- 혹은 dic_itmes in 딕셔너리.itmers() 하면 하나씩 튜플쌍이 출력이 된다. 
- dict key만 출력하고 싶으면 keys() 메소드를 사용한다.
- value만 출력하고 싶으면 values() 메소드 사용한다.

 

collections

-  List, tuple, dict에 대한 파이썬 빌트인 확장 자료구조

(1) deque

- stack과 queue를 지원하는 모듈
- list 에 비해 효율적인 = 빠른 자료 저장 방식을 지원
- rotate, reverse등 linked list의 특성을 지원
- 기존 list 형태의 함수를 모두 지원

(2) Counter

- 시퀀스 타입의 data element 들의 갯수를 dict 형태로 반환

from collections import Counter

c = Counter(["B", "S", "S", "S", "S", "B", "B"])
print(c)
# Counter({'B':3, 'S':4}) 

#혹은 Counter 안에 dict 타입을 넣어주게 되면
c = Counter({'red': 4, 'blue':2})
print(list(c.elements())) 
# ['blue', 'blue', 'red', 'red', 'red', 'red'] 이런식으로 출력 가능

 

(3) OrderedDict

- 입력한 순서대로 dict 반환
- python 3.6부턴 입력한 순서를 보장하여 출력하기 때문에 딱히 의미 없음


(4) defaultdict

- Dict type의 값에 기본값을 지정.
- 신규값 생성시 사용하는 방법

from collections import defaultdict
d = defaultdict(object) # default dictionary 를 생성
d = defaultdict(lambda: 0) # default 값을 0으로 설정
print(d["first"])

 

(5) namedtuple

- tuple 형태로 Data 구조체를 저장하는 방법