
Python 자료구조에 대해 기본적인 부분만 정리 해보려고 한다!
List는 값을 순차열 적으로 저장 할 수 있다List안에는 어떤 자료형이던지 포함시킬 수 있다 (List안에 List를 넣을 수도 있음)[]로 감싸서 만들거나 list()로도 만들 수 있다
a = [1, 2, 3]
b = list(range(5)) # [0, 1, 2, 3, 4]
index라고 한다Tuple은 기본적으로 List와 동일하지만 몇 가지 차이점이 있다List는 선언 후에도 수정이 가능하지만 Tuple은 수정이 불가능하다()로 감싸서 만들거나 tuple()로도 가능하다
a = (1, 2, 3)
b = tuple(range(5))
List와 동일하다ad hoc(즉석적으로)하게 표현하고 싶을 때 사용List보다 차지하는 메모리 용량이 적다Tuple이 훨씬 더 효과적Set는 List와 마찬가지로 여러 다양한 타입의 요소들을 저장할 수 있다Set는 요소들이 순서대로 저장되어 있지 않아서 for문에서 읽어 들일 때도 무작위 순서로 나오게 된다replace)함{}으로 감싸서 만들거나 set()함수를 사용해 만들 수 있고 set()을 사용하게 된다면 List를 parameter로 전달해야 한다
a = {1, 2, 3, 3}-># {1, 2, 3}
b = set([1, 1, 2, 2])-># {1, 2}
c = set(1, 2)-># TypeError 발생❌
Dictionary는 Key와 Value의 쌍으로 이루어져 있는 자료구조이다{}로 선언 하는건 세트와 똑같지만 Key : Value로 값을 넣어야 한다
a = { "name" : "kyle", "address" : "Gunpo"}
List로 되어있는 Tuple이나 List안에 Tuple이 있는 경우에는dict()로도 선언이 가능
a = dict(([1, 2], [3, 4], [5, 6]))
->
{1: 2, 3: 4, 5: 6}
Key로 요소를 읽을 수 있다
a["name"]-># "kyle"
Key값은 중복이 불가하고 이미 존재하는 Key값을 추가하게 된다면 이미 존재하던 Key값의 요소를 치환한다a = { "name" : "kyle", "name" : "junyoung"} print(a) # {'name' : 'junyoung'}
Dictionary는Key와Value의 값으로 이루어져 있지만Set는 값이Key,Value쌍이 아니라 그냥 요소 하나로 기능을 하는 부분에서의 차이가 존재한다
List는 선언 후에도 요소들을 추가 / 삭제 등 수정이 가능하지만Tuple은 선언한 이후에는 요소를 수정할 수 없다List는 위와 같이 수정이 가능하게 되어있는 자료구조이기 때문에Tuple보다 차지하는 메모리 용량이 더 크다List는[]를 사용하지만Tuple은()을 사용한다!