자료구조는 대학에서도 전공과목으로 배울 정도로 내용이 광범위하다.
따라서 실습 위주인 이 강의에서는 자료구조에 대해 깊고 자세하게 다루지는 않는다.
그저 주로 사용하는 자료구조의 특성과 장단점, 사용법만 짚고 넘어가는 정도다.
1. List(배열) <---> Tuple
- 여러 개의 element를 담고 싶을 때
- element를 순서대로 담고 싶을 때
- 변수 안에 있는 내용물을 수정하고 싶을 때
- list = 내용물을 바꿀 수 있는 자료구조 : mutable - 수정이 가능할수록 버그 가능성이 높음.
- ex) 게임을 개발하면서 x라는 변수에 유저가 가진 이름과 레벨을 저장했는데 잘못된 자료구조를 쓰면 유저의 레벨이 갑자기 버그로 인해서 바뀔 수가 있다.
- tuple = 내용물을 바꿀 수 없는 자료구조 : immutable - 수정이 불가능하므로 보다 안정적임.
2. Set <-----> Dictionary(Hash table)
- 순서가 뒤죽박죽이 될 수 있다, immutable
- 어떤 내용물이 있는지 확인이 빠르다. list의 경우 모든 요소들에 대해 0번부터 탐색해야한다. (멤버쉽 검색)
# x = set(("민수","철수","영희"))
# print(x[0]) 'set' object is not subscriptable // 해당 인덱스 값을 가져올 수 없음.
# x[0] = "민혜" 'set' object does not support item assignment // immutable
3. Dictionary(Hash table)
- 순서가 뒤죽박죽일 수 있다. key-value로 짝지어져 있지만 그것들이 순서가 있지는 않음.
- key에 해당하는 value를 불러오고 싶을때 사용
- 어떤 내용물이 안에 있는지 빨리 알고 싶을때 사용(key를 찾을 때는 빠르지만 ,특정 value를 찾을 수는 없다.)
# set vs dic
# set : key-value가 필요 없고 key만 필요할 때
# dictionary : key-value가 필요할 때
# list + tuple vs set + dictionary
# list + tuple :
# 1) ordered - 순서가 정해져있다 - 내용물이 자료구조에 들어간 순서대로 저장된다
# 2) 멤버쉽 검색이 느리다
# set + dictionary:
# 1) unordered - 내용물이 자료구조에 들어간 순서대로 저장되지 않을 수 있다
# 2) 멤버쉽 검색이 빠르다
'Python > 패스트캠퍼스(테크보이 워니)' 카테고리의 다른 글
파이썬 API - 부동산 실거래 (0) | 2022.04.10 |
---|---|
파이썬 API 사용 (0) | 2022.04.10 |
파이썬 모듈/패키지 (0) | 2022.04.07 |
파이썬 상속(클래스, 오브젝트) (0) | 2022.04.04 |
파이썬과 자바 (0) | 2022.04.03 |