본문 바로가기

Python20

19. 딕셔너리(dictionary) 딕셔너리는 말그대로 사전이라는 의미이며, 파이썬의 딕셔너리는 키(key)와 값(value)의 쌍을 저장할 수 있는 객체다. 딕셔너리의 특징 1. 딕셔너리의 키는 해시가능한 객체이며 중복되는 값은 허용하지 않는다. 2. 딕셔너리는 중괄호 안에 항목을 쉼표로 분리시켜서 나열한다. dictionary = { 키1:값1 , 키2:값2, ... } 3. 값은 어떤객체든지 가능하지만, 키는 변경 불가능한 객체 즉, 문자열이나 숫자열이어야 한다. 4. 공백 딕셔너리는 { }로 생성한다. 혼동 주의 : 수학에서는 { }를 집합 기호로 쓰지만, 파이썬에서는 딕셔너리를 사용한다. 조심하자! 5. 딕셔너리도 변경 가능한 컨테이너로, 항목을 추가하서나 삭제할 수 있다. 6. 리스트와 마찬가지로, 저장된 항목을 순차적으로 순회.. 2022. 2. 13.
18. 튜플(Tuple)과 세트(Set) 튜플(Tuple)이란? 튜플은 리스트와 유사하지만, 튜플의 내용은 변경할 수 없다. 그런데 편한 리스트 대신 왜 불편한 튜플을 만든 이유는 무엇일까? 1. 리스트는 실수로 요소가 추가, 삭제, 변경될 수 있는 반면, 튜플은 수정이 불가하여 변경으로 인한 실수가 없다. 2. 튜플은 리스트 보다 접근 속도가 빠르다. 3. 튜플은 시퀀스의 일종이다. 시퀀스의 일종이기에 인덱싱, 슬라이싱, 덧셈연산, 곱센 연산이 지원된다. 튜플의 표현식 tuple_ = (1,2,3) tuple_ex = (1,) 리스트는 []를 쓰지만 튜플은 ()을 쓴다는 점에서 큰 차이를 보인다. 또한 값이 하나일 때, 튜플은 (1,)와 같이 쉼표를 반드시 붙여줘야 한다. 튜플의 값을 수정하려 한다면 다음과 같은 오류가 발생한다. TypeEr.. 2022. 2. 6.
17. 스택(Stack)과 큐(Queue) 자료구조는 특징이 있는 정보를 메모리에 효율적으로 저장 및 반환하는 메모리 구조를 가지는 저장 공간(체계)으로, 데이터를 관리하는 방식이다. 예로, 이름이 성만 기억난다고 했을 때, 그 사람을 전화번호부에서 찾는다고 가정하자. 전화번호부에서 데이터를 사람이 빠르게 찾으려면(=효율적으로 찾으려면) ㄱ,ㄴ,ㄷ 순으로 배열이 되어 있다면 무작위로 저장되어 있는 것보다 빠르게 접근이 가능해진다. 이러한 자료구조는 리스트, 스택, 큐, 튜플, 세트, 딕셔너리, collections 모듈 등이 있다. 그중 스택에 대해 알아볼 것이다. 스택의 정의 스택은 마지막에 들어간 데이터가 가장 먼저 나오는 형태로 데이터의 저장 공간(체계)을 구현한다. 스택에서 데이터를 저장하는 것을 푸시(push), 데이터를 추출하는 것을 .. 2022. 2. 6.
16. 자료구조 - 자료구조의 이해 프로그래밍을 하면 다양한 데이터를 마주한다. 이러한 데이터의 특징을 고려하여 저장하는 방법을 자료구조(data structure)라고 한다. 자료구조는 특징이 있는 정보를 메모리에 효율적으로 저장하고 관리한다. 그렇다면 Python에서의 자료구조는 어떨까? 앞에서 배운 리스트도 이에 해당되며, 이외의 자료구조는 아래 6개로 나뉜다. 스택(stack) : 나중에 들어온 값을 먼저 나갈 수 있게 해주는 자료구조 (last in first out) 큐(queue) : 먼저 들어온 값을 먼저 나갈 수 있도록 해주는 자료구조 (first in first out) 튜플(tuple) : 리스트와 같지만, 데이터 변경을 허용하지 않는 자료구조 세트(set) : 데이터의 중복 허용없이, 수학의 집합 연산을 지원하는 자료.. 2022. 1. 30.