궁금한게 많은 코린이의 Developer 노트

[Python] 딕셔너리 개념 정리 본문

TIL

[Python] 딕셔너리 개념 정리

lemonarr🍋 2024. 5. 30. 22:49

딕셔너리 자료형이란

Key:Value의 쌍으로 이루어진 자료형이다.

딕셔너리의 매력

리스트나 문자열로는 표현하기 까다로운 것을 딕셔너리를 통해 상황을 표현하기가 쉽다.

예) 4명의 사람이 있고 각자의 특기를 표현할 수 있는 좋은 방법에 대해 설명해보자.
리스트나 문자열로는 표현하기 까다로운 것을 딕셔너리를 통해 상황을 표현하기가 쉽다.

{key1:value1, key2:value2, key3:value3}

특이점: 딕셔너리 변수에서 [1]은 두번째 요소가 아닌 key의 첫번째 요소를 의미한다.

딕셔너리는 리스트나 튜플에 있는 인덱싱 방법을 적용할 수 없기 때문이다.
따라서 a[1]은 첫번째를 의미한다.

key가 중복되었을 때 나머지 key:value 값이 무시된다.

딕셔너리에는 동일한 key가 중복으로 존재할 수 없다.

key에 리스트는 쓸 수 없다. 하지만 튜플은 key로 쓸 수 있다.

딕셔너리의 key로 쓸 수 있냐 없냐는 key가 변하는 값인지, 아닌지에 따라 달려있다.
리스트는 값이 변할 수 있기 때문에 key로 쓸 수 없다.

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

딕셔너리의 활용

1. 딕셔너리에서 key를 사용해 value 얻기

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

:딕셔너리는 단 1가지 방법인 key를 사용해서 value를 구하는 방법을 사용한다.
리스트나 튜플, 문자열은 요솟값을 얻고자 할 때 인덱싱이나 슬라이승 기법 중 하나를 사용한다.

2. key로만 모아서 리스트 만들기 -keys

a.keys는 딕셔너리의 a의 key만을 모아 dict_keys 객체를 리턴한다.

a = {'name': 'pey' , 'phone': '010-9999-1111', ;birth':'1118'}
print(a.keys())
dict_keys(['name','phone','birth'])

3. value로만 모아서 리스트 만들기 -values

a.values()
dict_values([('name','pey'),('phone', '010-3333-7777'),('birth':'1118')])

items함수는 key와 value의 쌍을 튜플로 묶은 값을 dict_items 객체로 리턴한다.

4. key:value 쌍 모두 지우기 - clear

a.clear()
print(a) #{}

items함수는 key와 value의 쌍을 튜플로 묶은 값을 dict_items 객체로 리턴한다.

5. key로 value 얻기 - get : 딕셔너리에 존재하지 않을 경우 none을 리턴시킴

>>> a = {'name':'pey', 'phone':'010-9999-1234', 'birth': '1118'}
>>> print(a.get('nokey'))
None
>>> print(a['nokey’])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'nokey'

6. 해당 key가 딕셔너리 안에 있는지 조사하기 -in

>>> a = {'name':'pey', 'phone':'010-9999-1234', 'birth': '1118'}
>>> 'name' in a
True
>>> 'email' in a
False

참고 자료
https://wikidocs.net/16