이롭게 현명하게

[Python] 파이썬 딕셔너리 자료형 본문

Python

[Python] 파이썬 딕셔너리 자료형

dev_y.h 2023. 3. 14. 18:54
728x90
반응형

※ 본 포스팅은 윈도우 11, Pycharm, Python3 환경에서 작성되었습니다.


 

목차

딕셔너리란?

딕셔너리 생성

딕셔너리 쌍 추가

딕셔너리 요소 삭제

딕셔너리에서 key 사용해 Value 얻기

딕셔너리 사용 시 주의 사항

 


<정리>

코드 설명
딕셔너리명={ }
딕셔너리명 = { key : value }
Key : Value 형태로 이루어져있고 쉼표(,)로 구분되어있다.
딕셔너리명[키값]=요소값 딕셔너리에 키값을 가지는 요소값을 추가
del 딕셔너리명[키값] 지정한 키 값에 해당되는 { key : value } 쌍이 삭제 
딕셔너리변수이름[Key] 어떤 Key의 Value를 얻기

[딕셔너리란?]

이름 : 홍길동

생일 : 2000년04월5일

전화번호 : 010-***-****

등으로 프로필을 나타낼 수 있다.

파이썬에는 이러한 대응관계를 나타낼 수 있는 자료형이 있다.

이것을 연관 배열(Associative array) 또는 해시(Hash)라고 한다.

파이썬에서는 이러한 자료형을 딕셔너리(Dictionary)라고 한다.

key와 value를 한 쌍으로 갖는 자료형이다.

딕셔너리는 리스트나 튜플터럼 순차적으로(sequential) 해당 요솟값을 요구하지 않고 key를 통해 value를 얻는다.


[딕셔너리 생성]

{ Key1 : Value1 , Key2 : Value2 , Key2 : Value2 ...}

Key와 Value의 쌍 여러 개가 { }로 둘러싸여 있다.

Key : Value 형태로 이루어져 있고 쉼표(,)로 구분되어 있다.

dic = {'name' : 'jennie', 'phone':'010-1111-2222','birth':'19960116'}

key : 'name', 'phone', 'birth'

value : 'jennie', '010-1111-2222', '19960116'

<딕셔너리 dic의 정보>

key value
name jennie
phone 010-1111-2222
birth 19960116

 

dic = {'name' : 'jennie', 'phone':'010-1111-2222','birth':'19960116'}
a = {1:'hi'}
b = {'c' : [1,2,3]}

 


[딕셔너리 쌍 추가]

{ 1 : 'a' } 딕셔너리에 a[2] = 'b' 와 같이 입력하면 딕셔너리 a에 key와 value가 각각 2와 'b'인 { 2 , 'b' } 딕셔너리 쌍이 추가된다.

a = {1 : 'a'}
a[2] = 'b'
print(a) # {1: 'a', 2: 'b'}

 

딕셔너리 a에 { 'name' : 'jennie' } 쌍을 추가

a['name'] = 'jennie'
print(a) # {1: 'a', 2: 'b', 'name': 'jennie'}

key는 3 value는 [1,2,3]을 가지는 쌍을 추가

a[3] = [1,2,3]
print(a) # {1: 'a', 2: 'b', 'name': 'jennie', 3: [1, 2, 3]}

[딕셔너리 요소 삭제]

del 함수를 사용해서 del 딕셔너리명[키값]처럼 지정한 키 값에 해당되는 { key : value } 쌍이 삭제된다.

a = {1: 'a', 2: 'b', 'name': 'jennie', 3: [1, 2, 3]}
del a[1]
print(a)
# {2: 'b', 'name': 'jennie', 3: [1, 2, 3]}
del a['name']
print(a)
# {2: 'b', 3: [1, 2, 3]}

 


[딕셔너리에서 key 사용해 Value 얻기]

리스트, 튜플, 문자열은 요소값을 얻기 위해 인덱싱이나 슬라이싱 기법 중 하나를 사용하였다.

하지만 딕셔너리는 단 한 가지 방법밖에 사용할 수 없다.

딕셔너리는 리스트나 튜플에 있는 인덱싱 방법을 적용할 수 없다.

Key를 사용하여 Value를 구할 수 있다.

어떤 Key의 Value를 얻기 위해서는 딕셔너리변수이름[Key]을 사용한다.

grade = {'pey' : 10,'juliet':99}
print(grade['pey']) # 10
print(grade['julie']) # 99

 


[딕셔너리 사용 시 주의 사항]

딕셔너리에서 Key는 고유한 값이므로 중복되는 Key 값을 설정해 두면 하나를 제외한 나머지 것들이 모두 무시된다.

동일한 key가 중복되었을 때 1개를 제외한 나머지 key:value 값이 모두 무시되는 이유는 key를 통해서 value를 얻는 딕셔너리의 특징으로 동일한 key가 존재하면 어떤 key에 해당하는 value를 불러야 할지 알 수 없기 때문이다.

a = {1:'a', 1:'b'}
print(a) # {1: 'b'}

 

딕셔너리에는 리스트를 key값으로 사용할 수 없다.

하지만 튜플은 key로 사용이 가능하다.

딕셔너리의 key 값은 key가 변하는 값인지 변하지 않는 값인지에 따라 다르다.

리스트는 값이 변할 수 있기 때문에 key로 사용할 수 없다.

Value에는 변하는 값이든 변하지 않는 값이든 상관없이 아무 값이나 넣을 수 있다.

grade = {[1,2] : 10,'juliet':99}
'''
Traceback (most recent call last):
  File "C:\Users\samsung\PycharmProjects\python-base\p.py", line 1, in <module>
    grade = {[1,2] : 10,'juliet':99}
TypeError: unhashable type: 'list'
'''

 

 

 

 

[Python] 딕셔너리 관련 함수

목차 Key 리스트 만들기( keys ) Value 리스트 만들기 ( values ) key,value 쌍 얻기 ( items ) key : value 쌍 모두 지우기 ( clear ) key 로 value 얻기 ( get ) 해당 key 가 딕셔너리 안에 있는지 조사하기 ( in ) 코드 설

devyihyun.tistory.com


잘못된 정보는 댓글에 남겨주시면 감사하겠습니다!😊

댓글과 좋아요는 큰 힘이 됩니다!

 

 

728x90
반응형

'Python' 카테고리의 다른 글

[Python] 파이썬 집합 자료형  (0) 2023.03.16
[Python] 딕셔너리 관련 함수  (0) 2023.03.15
[Python] 파이썬 튜플  (0) 2023.03.13
[Python] 리스트 관련 함수  (0) 2023.03.10
[Python] 파이썬 리스트 연산  (0) 2023.03.09
Comments