DevSSOM

파이썬 기초 - 딕셔너리 자료형 본문

Python/기초

파이썬 기초 - 딕셔너리 자료형

데브쏨 2021. 6. 8. 00:05
반응형

딕셔너리는 우리말로 -> 사전.

영한사전에 영어단어를 검색하면, 한글 뜻이 나오잖아. 

이 때 영어단어와 한글 뜻은 하나의 짝꿍이야.

이렇게 짝꿍이 있는 자료형딕셔너리라고 해.

 

딕셔너리(Dictionary)

딕셔너리 자료형은 중괄호 { }로 묶어서 표현.

짝꿍은 { key : value }의 형식으로, key를 알면 value를 알 수 있음.

    - key : 열쇠처럼 자료를 꺼낼 수 있는 도구

    - value : 딕셔너리에서 Key로 꺼낸 자료

dict_zero = {}
dict_one = {"one":1}
dict_three = {"one":1, "two":2, "three":3}

person = {'name':'Som', 'age': 20}
print(person['name']   # Som
print(person['age']    # 20

 

딕셔너리에 자료를 추가하거나 삭제하려면

person = {'name':'Som', 'age': 20}

# 자료 추가
person['hobby'] = 'eating'
print(person)  # {'name':'Som', 'age': 20, 'hobby':'eating'}

# 자료 삭제
del person['age']
print(person)  # {'name':'Som', 'hobby':'eating'}

 

이 딕셔너리의 가장 중요한 특징은

: Key는 변할 수 없는 자료형이라는 것 

 

열쇠가 모양이 변하면 자물쇠를 따서 그 안에 있는 자료를 볼 수 없잖아.

그래서 Key의 모양이 바뀔 염려가 있는 애들은 Key로 만들 수 없어.

그 대표적인 친구가 바로 리스트 (얘는 값을 수정할 수 있으니까)

그래서 리스트는 안되지만, 튜플은 된다! 

datas = {[1, 2, 3] : 'Number'}  # 에러
datas = {(1, 2, 3) : 'Number'}  # OK
my_dict = {1:"Integer", "a":"String", (1, 2, 3):"Tuple"}

try:
    my_dict[[1,2,3]] = "List"
    
except TypeError:
    print("List는 Dictionary의 Key가 될 수 없습니다.")

 

 

 

연습문제

1. 다음 대응관계가 담긴 딕셔너리를 하나 만들고, 변수 my_dict에 넣어봐.

    "사과" -> "apple",  "바나나" -> "banana",  "당근" -> "carrot"

2. my_dict에서 "사과"를 key로 넣어 나온 Value를 변수 var1에 넣어.

3. 당근은 싫으니까 당근-carrot은 빼봐.

4. 포도는 좋으니까 포도-grape는 추가.

my_dict = {'사과':'apple', '바나나':'banana', '당근':'carrot'}
var1 = my_dict['사과']
del my_dict['당근']
my_dict['포도'] = 'grape'

 

728x90
반응형
댓글