잇뉴얼 (IT_Manual)
[Python] 파이썬 딕셔너리 (Dictionary) 본문
[Python] 파이썬 딕셔너리 (Dictionary)
변수는 하나의 데이터를 저장해주는 역할을 합니다. 그러나, 데이터의 양이 많아지면 변수도 많이지게 되어서 코드를 작성하는데 많이 힘들어지게 되는데요. 이러한 불편함을 해결해줄수는것이 바로 리스트(List)와 딕셔너리(Dictionary)입니다. 이번 포스트에서는 딕셔너리(Dictionary)에 대해 다뤄보도록 하겠습니다.
▶ 딕셔너리 (Dictionary)
딕셔너리 구성은 {key:value}로 구성이 되어있습니다.
_dict_empty = {}
_dict_empty1 = dict()
_dict = {"one":1,"two":2}
_dict1 = dict(one=1,two=2)
_dict2 = dict([('one',1),('two',2)])
print(_dict_empty)
print(_dict_empty1)
print(_dict)
print(_dict1)
print(_dict2)
# 결과
# {}
# {}
# {'one': 1, 'two': 2}
# {'one': 1, 'two': 2}
# {'one': 1, 'two': 2}
딕셔너리는 리스트와 다르게 순서가 없기 때문에 인덱스가 없습니다. 대신 key를 이용해서 값을 찾을수 있도록 구성이 되어있습니다. 일단 구성은 이렇다 정도로 알고, 자세한건 아래에서 더 설명을 하겠습니다.
딕셔너리 선언방법은 변수를 선언한 다음 중괄호 '{}'를 사용하거나, 'dict()'함수를 사용하면 됩니다. 위의 코드를 보면, 변수를 선언하고 3가지 방법으로 딕셔너리를 사용할 수 있는 방법이 있는데요. 같은 결과를 만들어내기 때문에, 원하는 방법을 사용하면 됩니다.
딕셔너리 'value'값 불러오기
_dict = {"one":1,"two":2}
print(_dict['one'])
print(_dict.get('one'))
print(_dict.get(0)) // 에러발생없이 'None'으로 결과
print(_dict[0]) // 에러발생
# 결과
# 1
# 1
# None
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
<ipython-input-13-8862425b541b> in <module>
2
3 print(_dict['one'])
----> 4 print(_dict[0])
KeyError: 0
앞서 설명드린데로, 딕셔너리의 경우, 리스트와 다르게 인덱스가 없습니다. 그 대신 데이터에 접근을 할 수있도록 'key,value'로 구성이 되어있는데요. 이 key값이 인덱스를 대신해준다 생각하시면 됩니다. 위의 코드를 보면, 딕셔너리를 만든다음, '딕셔너리명[key값]'을 하거나, '딕셔너리명.get(key값)'으로 작성을 하면, 해당 value값을 반환해줍니다.
여기서 하나 주목할만한 코드는 '_dict.get(0)'와 '_dict[0]'입니다. '_dict'딕셔너리안에 '0'이라는 키값이 없는데요. 그런데, 해당 키를 조회할려고 시도를 하면, '_dict[0]'의 경우 에러를 발생하며, '_dict_get(0)'의 경우 'None'으로 결과를 처리합니다.
딕셔너리 요소 수정 및 추가 방법
_dict = {"one":1,"two":2}
# 요소 추가
_dict['three'] = 3
print(_dict)
# 요소 수정
_dict['one'] = '일'
print(_dict)
# 결과
# {'one': 1, 'two': 2, 'three': 3}
# {'one': '일', 'two': 2, 'three': 3}
구성 | 설명 |
딕셔너리명[key값] = value값 | 딕셔너리를 선언하고 난 다음, 요소를 추가하거나 수정을 할 수 있습니다. 딕셔너리안에 같은 key값이 있을경우, 해당 요소를 수정해주며, 만일 없는경우, 해당요소를 딕셔너리에 추가를 해줍니다. |
딕셔너리 value 타입(자료형)
_dict = {"one":1,"two":2}
print(_dict)
print(type(_dict['one']))
_dict['one'] = '일'
print(_dict)
print(type(_dict['one']))
# 결과
# {'one': 1, 'two': 2}
# <class 'int'>
# {'one': '일', 'two': 2}
# <class 'str'>
딕셔너리안에 value에는 아무 자료형이나 다 사용가능합니다. 위의 코드처럼 문자형이나 숫자형을 넣을수도 있고, 딕셔너리나 리스트를 넣을수도 있습니다.
'Coding > Python' 카테고리의 다른 글
[Python] 파이썬 반복문 (for문) (0) | 2022.06.03 |
---|---|
[Python] 파이썬 조건문 (if, if ~ else, if ~elif ~else) (0) | 2022.06.03 |
[Python] 파이썬 리스트 (List) (0) | 2022.06.02 |
[Python] 파이썬 문자열 다루는 방법 (0) | 2022.06.02 |
[Python] 파이썬 변수 선언과 자료형 (0) | 2022.06.01 |