파이썬 기반 데이터분석을 위하여 파이썬 기본 객체중 하나인 딕셔너리(dictionary)에 대해 알아본다.
개요
딕셔너리(dictionary)는 중괄호를 사용하여 생성하며 키와 값의 쌍으로 구성됨. 하나의 키에 하나의 값이 할당되나 그 값은 원소 또는 객체가 될 수 있다. 향후 Pandas 객체의 생성과 조작에 활용되기도 하고 JSON 파일 형식과도 유사해 해당 파일을 다룰 때도 딕셔너리를 많이 사용한다.
생성
키는 보통 따옴표를 사용한 문자로 지정(숫자 사용 지양)하며 그 다음에 콜론을 작성하고 콜론 다음에는 값(또는 객체)를 선언함. 그리고 각 키는 쉼표로 구분한다.색인
한번에 특정 키의 특정 원소에 접근할 수 없으며 어떤 원소에 접근하기 위해서는 반드시 해당 원소와 연결되어있는 키를 통해야 한다.조작
키를 추가하거나 삭제할 수 있으며 키에 연결된 값의 경우 해당 값 또는 객체의 문법을 따른다.
실습
생성 및 인덱싱
다음과 같이 중괄호를 사용하여 생성하며 키(key)와 값(value)의 쌍은 쉼표로 구분해준다. 값의 경우 단일 원소도 가능한데 2개 이상의 원소를 단일 키에 지정하고 싶다면 다음 코드의 “dic_2” 객체처럼 리스트나 튜플 같은 객체로 할당해야 한다. 키는 반드시 값과 쌍이 되어야 하며 “dic_3” 객체처럼 쌍이 되지 않으면 에러를 유발한다.
1 | dic_1 = {"k1": 1} |
딕셔너리 객체의 값에 접근하기 위해서는 반드시 해당 값과 연결된 키를 거쳐서 들어가야 한다. 그래서 딕셔너리의 값에 접근하기 위해서는 보통 2개 이상의 대괄호를 연속으로 사용한다.
1 | dic_2["key1"] |
만약 다음과 같이 키를 명시하지 않고 세 번째 키에 접근하고자 하는 경우 에러가 발생한다.
1 | dic_2[2] |
단, 키가 문자가 아닌 숫자로 지정된 경우 다음처럼 정상 동작하기도 한다.
1 | dic_4 = {3: 2} |
딕셔너리에는 키 또는 값을 한 번에 일괄로 가져오는 메서드가 존재하는데 키를 가져오는 .keys() 는 종종 유용하게 사용된다.
1 | dic_2.keys() |
치환 및 조작
특정 키의 값을 변경해보자.
1 | dic_2["key1"][0] = -999 |