나홀로 파이썬 정복(4)

유재우·2021년 12월 28일
0

나홀로 파이썬!!

목록 보기
4/7

딕셔너리란?

파이썬에서는 사람처럼 '개' = '동물', '커피' = '음료' 저절로 구분 할 수 없어서 딕셔너리를 통해 'Key' = 'Value'로 지정을 해놓아 Key와 Value를 한 쌍으로 갖는 자료형이다. 그렇기 때문에 튜플이나 리스트처럼 순차적으로 요솟값을 구하는게 아니라 Key를 통해 Value를 얻는 특징이 있다.

딕셔너리

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

Key와 Value의 쌍 모두 {}로 둘러싸여 있다.
각각의 요소는 Key : Value 형태로 이루어져 있고 ,로 구분되어 있다.


예)

me = {'name':'유재우', 'age':24, 'birth':'19980811'}
print(me)

{'name': '유재우', 'age': 24, 'birth': '19980811'}

딕셔너리 쌍 추가, 삭제하기


딕셔너리 쌍 추가하기

plus = {'Hi':'Hello'}
plus[3] = 'Plus'
print(plus)

{'Hi': 'Hello', 3: 'Plus'}


딕셔너리 쌍 삭제하기

minus = {'bye':'BYE', 1:2, 3:'good'}
print(minus)
del minus[1]
print(minus)

{'bye': 'BYE', 1: 2, 3: 'good'}
{'bye': 'BYE', 3: 'good'}

딕셔너리의 사용법
튜플이나 리스트에서는 인덱싱이나 슬라이싱을 통해서 값을 얻었지만 딕셔너리는 Key값을 통해서 Value값을 얻을수 있어서 간편하다.

me = {'name':'유재우', 'age':24, 'birth':'19980811'}
print(me['name'])
print(me['age'])
print(me['birth'])

유재우
24
19980811


🟥 주의사항

◼︎ 딕셔너리에서 Key값은 고유한 값이므로 중복되는 Key 값을 설정해 놓으면 하나를 제외한 나머지 것들이 모두 무시된다는 점을 주의해야 한다.
◼︎ Key에는 리스트를 사용할 수 없는점에 주의해야 한다.

딕셔너리 관련 함수

Key 리스트 만들기(keys)

me = {'name':'유재우', 'age':24, 'birth':'19980811'}
me.keys()

dict_keys(['name', 'age', 'birth'])
me의 Key만을 모아서 보여주고 이를 리스트로 변환하려면

list(me.keys())

['name', 'age', 'birth']
위 list() 함수를 사용하여 변환 할 수 있다.


Value 리스트 만들기(values)
Value도 마찬가지로 Key와 똑같이 사용 가능하다

me = {'name':'유재우', 'age':24, 'birth':'19980811'}
list(me.values())

['유재우', 24, '19980811']


Key, Value 쌍 얻기(items)
items 함수는 Key와 Value의 쌍을 튜플로 묶어서 dict_items 객체로 돌려준다. dict_items 객체 역시 dict_keys 객체와 마찬가지로 리스트를 사용하는 것과 동일하게 사용할 수 있다.

list(me.items())

[('name', '유재우'), ('age', 24), ('birth', '19980811')]


Key: Value 쌍 모두 지우기(clear)
clear() 함수를 사용하여 딕셔너리 안에 모든 요소를 삭제 할수 있다.

print(me.clear())

None


Key로 Value얻기(get)
get(Key) 함수를 사용해서 Key에 대응하는 Value를 얻을 수 있다.

print(me.get('name'))

유재우
🟥 여기서 me['name'] 과의 차이점은 get()함수를 사용하면 Key값이 없을 경우에 None(거짓 이라는 의미)로 출력 되고 dic['Key']로 사용하면 컴파일 오류가 뜬다.
🔺 get()함수에서 만약 Key값이 없을 때를 대비하여 Key값 옆에 ,'디폴트 설정 값'으로 작성하여 사용할 수 있다.

print(me.get('Hi','DEFAULT'))

DEFAULT
해당 Key가 딕셔너리 안에 있는지 조사하기(in)
in 함수를 사용하여 찾아보고 싶은 Key가 딕셔너리에 존재하는 지 판단할 수 있다.

print('name' in me)
print('No' in me)

True
False

profile
끝없이 탐구하는 iOS 개발자 유재우입니다!

0개의 댓글