이번 포스팅에서는 쉽게하는 Python 자료형에 대해 알아보는 세번째 포스팅입니다. 이번에는 딕셔너리 자료형에 대해 알아보도록 할께요.
딕셔너리 자료형
딕셔너리(Dictionary) 매핑 자료형은 키(Key)와 값(Value)로 이루어진 형태의 자료형을 이야기 하는데요, 식당, 까페 등을 가면 메뉴판에 어떤 메뉴는 얼마라는 식으로 표기가 되어있는데 이러한 형식으로 되어있다고 보시면 됩니다.
Py식당 메뉴판을 보겠습니다. 떡볶이는 3000원, 순대 3000원, 김밥 2500원, 라면 3500원, 음료수 1000원, 공기밥은 500원인 식당이에요. 여기에서 메뉴명은 키, 가격은 값으로 표시할 수 있습니다. 딕셔너리 자료형에서는 키값으로 데이터를 찾습니다. 라면이라는 키를 찾으면 값은 3500원으로 검색이 되고, 공기밥이라는 키로 찾으면 500원이 나오도록 데이터의 구조가 설정이 됩니다. 키를 이용해 데이터를 찾는 성격이 있기 때문에 키 값이 중복되면 안됩니다.
딕셔너리 자료형 문법
{
Key1 : Value1,
Key2 : Value2,
Key3 : Value3
...
}
먼저, 딕셔너리는 중괄호({)를 열어 선언을 하고, Key : Value를 정의하여 선언을 합니다. Key와 Value는 문자열일 경우 ''로 감싸서 입력하도록 합니다. Key와 Value의 구분은 콤마(,)로 하도록 하고 선언이 끝나면 중괄호(})를 닫아주도록 합니다.
메뉴판의 예시를 들어서 작성해보겠습니다.
>>> menu = {
... '떡볶이': 3000,
... '순대': 3000,
... '김밥': 2500,
... '라면': 3500,
... '음료수': 1000,
... '공기밥': 500,
... }
>>> print(menu)
{'떡볶이': 3000, '순대': 3000, '김밥': 2500, '라면': 3500, '음료수': 1000, '공기밥': 500}
한줄로 나열해서 작성하는 방법도 있습니다.
>>> menu = {'떡볶이': 3000, '순대': 3000, '김밥': 2500, '라면': 3500, '음료수': 1000, '공기밥': 500}
>>> print(menu)
{'떡볶이': 3000, '순대': 3000, '김밥': 2500, '라면': 3500, '음료수': 1000, '공기밥': 500}
딕셔너리 데이터 꺼내기
이번에는 딕셔너리에 저장된 데이터를 꺼내는 방법을 알아볼께요. 순대 key에 저장된 값을 꺼내볼께요.
>>> print(menu['순대'])
3000
딕셔너리 데이터 추가
딕셔너리에 데이터를 추가해볼께요. 어묵탕이 4000원이라고 가정하고 추가해보겠습니다.
>>> menu['어묵탕'] = 4000
>>> print(menu)
{'떡볶이': 3000, '순대': 3000, '김밥': 2500, '라면': 3500, '음료수': 1000, '공기밥': 500, '어묵탕': 4000}
딕셔너리 데이터 삭제
딕셔너리 데이터는 del 함수를 이용해 삭제가 가능합니다.
>>> del menu['어묵탕']
>>> print(menu)
{'떡볶이': 3000, '순대': 3000, '김밥': 2500, '라면': 3500, '음료수': 1000, '공기밥': 500}
딕셔너리 데이터 수정
딕셔너리 데이터는 key값을 이용해 변경하면 됩니다.
>>> menu['공기밥'] = 1000
>>> print(menu)
{'떡볶이': 3000, '순대': 3000, '김밥': 2500, '라면': 3500, '음료수': 1000, '공기밥': 1000}
Trouble Shooting
딕셔너리를 작성하고 확인하려고 하면 아래와 같이 오류가 발생할 수가 있습니다. '공기밥': 500원을 작성했을 때 마지막에 콤마(,)가 빠지면 오류가 발생하니 작성할 때 주의해 주세요.
>>> memu = {
... '떡볶이': 3000,
... '순대': 3000,
... '김밥': 2500,
... '라면': 3500,
... '음료수': 1000,
... '공기밥': 500
... }
>>> print(menu)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'menu' is not defined
여기까지 파이썬의 딕셔너리 자료형을 살펴보았습니다. 다음 포스팅에서는 세트 자료형을 알아보도록 할께요.
여기까지 포스팅을 읽어주시고 따라해주신 것 감사합니다.
댓글