이롭게 현명하게
[Python] 파이썬 딕셔너리 자료형 본문
목차
딕셔너리란?
딕셔너리 생성
딕셔너리 쌍 추가
딕셔너리 요소 삭제
딕셔너리에서 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' 카테고리의 다른 글
[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 |