파이썬을 공부하면서 다양한 Colleciton Type
들을 만나왔습니다. dictionary
set
list
tuple
4가지가 있는데 각자의 특성과 비교했을 때 차이점에 대해서 살펴보겠습니다.
Dictionary
는 이전 포스트에서도 다뤄보았는데, Key
-Value
가 한쌍으로 이루어져 저장되어있는 자료형입니다.
선언방법
name_dict = dict()
or
name_dict = {}
Dictionary
는 {}
로 묶는 방식으로 선언이 가능합니다. Dictionary
의 특징으로는 Key
값이 중복될 수 없고, 순서가 상관없으며, value
값은 수정이 가능하지만 Key
값은 수정이 불가능합니다. 또한 특정값을 찾을때 다른 Type
들보다 빠르게 서칭이 가능합니다.
List
는 기본적인 Collection Type
으로 순서가 상관있습니다. 즉, index
를 통해 List
의 값들을 수정하거나, 삭제하거나, 가져오는게 가능합니다. 또한 List
에는 여러가지 자료형들을 섞어서 입력할 수 있습니다.
선언방법
num = [1,2,3,4,5,6]
or
num = list()
위와 같이 List
는 []
로 묶어줍니다.
Set
은 집합 자료형으로 순서가 상관없어서 index
가 없고 중복하는 자료가 들어올수 없어 중복되는 자료가 추가되면 치환되어집니다. 수학에서의 집합
과 같은 개념입니다.
선언 방법
intSet = set()
or
intSet = {1,2,3,4,5}
Set
은 내장 모듈인 set()
을 통해 선언이 가능합니다.
Tuple
은 List
와 비슷한 형태의 Collection Type
인데 다른 점은 수정이 불가능하다는 점입니다. 그런 단점이 있는데 왜 굳이 Tuple
을 쓰는지 궁금했는데 Tuple
은 수정이 불가능하다는 점 덕에 용량이 작다고 합니다.
선언 방법
coords = (1,4)
Set
과 Dictionary
는 같은 {}
에 묶여있지만 다릅니다. 일단 입력되는 방식이 Dictionary
는 Key-value
쌍을 받는데 Set
은 Key
만 받습니다.
List
와 Tuple
은 위에서도 말했듯이 비슷한 형태를 띄고 둘다 순서와 상관이 있지만 Tuple
은 수정이 불가능하다는 점이 있으면서 용량이 작습니다.