파이썬 자료구조

자료구조는 대학에서도 전공과목으로 배울 정도로 내용이 광범위하다.

따라서 실습 위주인 이 강의에서는 자료구조에 대해 깊고 자세하게 다루지는 않는다.

그저 주로 사용하는 자료구조의 특성과 장단점, 사용법만 짚고 넘어가는 정도다.

1. List(배열)  <--->  Tuple

  1. 여러 개의 element를 담고 싶을 때
  2. element를 순서대로 담고 싶을 때
  3. 변수 안에 있는 내용물을 수정하고 싶을 때
  • list = 내용물을 바꿀 수 있는 자료구조 : mutable - 수정이 가능할수록 버그 가능성이 높음.
  • ex) 게임을 개발하면서 x라는 변수에 유저가 가진 이름과 레벨을 저장했는데 잘못된 자료구조를 쓰면 유저의 레벨이 갑자기 버그로 인해서 바뀔 수가 있다.
  • tuple = 내용물을 바꿀 수 없는 자료구조 : immutable - 수정이 불가능하므로 보다 안정적임.

2. Set <-----> Dictionary(Hash table)

  1. 순서가 뒤죽박죽이 될 수 있다, immutable
  2. 어떤 내용물이 있는지 확인이 빠르다. 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)

  1. 순서가 뒤죽박죽일 수 있다. key-value로 짝지어져 있지만 그것들이 순서가 있지는 않음.
  2. key에 해당하는 value를 불러오고 싶을때 사용
  3. 어떤 내용물이 안에 있는지 빨리 알고 싶을때 사용(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