딕셔너리_개념파악

파이썬 데이터분석 입문 강좌의 맛보기 강의입니다.

강의 대본 보기

8선 기본 자료구조 중에 마지막으로 딕셔너리를 할 건데요. 딕셔너리는 영어사전 말 그대로 사전, 국어사전 이런 것처럼 키와 값들, 다시 말하면 사전에는 단어가 먼저 나오고요. 그 다음에 단어의 뜻이 나오잖아요. 그하고 똑같은 표현으로 키와 값이 한 쌍이 돼서 콜론으로 구분된 키와 값이 한 쌍으로 돼서 표현되는 자료구조이고요. 중괄호로 시작해서 중괄호로 끝납니다. 딕셔너리 변수 이름을 적어주시고요. 중괄호 시작하시고 중괄호 끝나고 그 다음에 값을 하나 적어둘 때 이 키는 값이 얼마고 이 키는 값이 얼마야 그래서 키와 값이 한 쌍으로 이루어진 자료구조입니다. 실제적으로 다른 언어에서는 이 자료구조 형태를 해시 또는 연관배열이라 부르고요. 해시 구조는 검색의 방법 중에 굉장히 빠른 방법을 지원하기 때문에 검색의 속도가 굉장히 높은 방법 중에 하나입니다. 딕셔너리는 저희가 이전에 배웠던 리스트하고 튜플하고 다르게 자료를 접근할 때 키에 의해서 접근이 돼요. 키에 의한 접근을 하셔야 되는 부분이 있는데 키를 접근할 수 있는 방법, 다시 말해 자료를 검색하는 방법이 두 가지가 있다는 뜻이죠. 두 가지가 있는데 하나는 저희가 여기 대괄호 표현을 사용해서 예를 들면 student1이라는 딕셔너리를 만들어 놨다면 student1에 학번은 얼마였어? 물어보면 2000번이야. 이름은 누구였는데? 그러면 홍길동이었고. 과는? 그러면 파이썬 학과야 라고 이렇게 대답해 주는 거가 한 가지 방법이 있고요. 두 번째 방법은 함수를 이용하는 방법이 있는데 딕셔너리 명을 주시고요. 그 다음에 get이라는 함수를 쓰시면 돼요. 그래서 이름을 가지고 싶으시면 딕셔너리 이름.get하고 이름, 이름이 뭐야? 라고 물어보면 이름이 홍길동이었어 라고 대답해주는 구조를 갖고 있습니다. 그래서 접근하는 방법이 좀 다르죠. 우리가 리스트나 튜플은 순서를 갖고 있었기 때문에 접근할 때 인덱싱을 이용해서 접근했다면 딕셔너리는 순서를 지키고 있는 자료구조가 아니에요. 그래서 접근할 때 두 가지 방법 중에 하나를 선택하셔야 됩니다. 대괄호를 이용하거나 get이라는 함수를 이용해서 접근하시면 되겠습니다. 근데 한 가지 유념해 주실 것은요 둘 다 검색이 가능하긴 하지만 키가 있는 데이터를 찾을 때는 둘 다 에러가 없이 잘 찾아줘요. 그런데 만약에 주소라는 키값이 없었어요. 근데 딕셔너리에서 주소를 찾게 되면 만약에 이렇게 대괄호로 검색하는 것은 이렇게 에러가 생기고요. 그리고 get이라는 함수를 이용해서 이렇게 검색한다면 설사 찾을 수 없더라도 시스템 에러는 발생되지 않거든요. 그래서 혹시나 모를 시스템 에러가 이렇게 발생할 수 있기 때문에 되도록이면 검색은 get이라는 함수를 통해서 해주시는 것이 바람직하다고 볼 수 있습니다. 딕셔너리의 연산자 중에 in이라는 집합연산자가 있어요. in이라는 집합연산자를 이용하시면 해당되는 키가 이 딕셔너리 안에 있는지 없는지가 사실은 중요할 때가 있거든요. 그래서 딕셔너리 이름을 뒤에 써주시고 이름이라는 키가 in이라는 연산자를 썼죠. 그래서 student1에 있어요라고 물어보는 건데 만약에 이름이 딕셔너리 안에 있으면 키값으로 존재한다면 있군요라고 해서 논리값으로 있어요라고 참을 in 연산자로 먼저 물어보시고 해당되는 키가 있는지 없는지에 따라서 상황을 좀 다르게 판단해서 진행하시면 좋을 것 같습니다.

이 강좌의 맛보기 강의

파이썬 데이터분석 입문
파이썬 데이터분석 입문강좌 자세히 보기