국민-Learn logo 국민-Learn

Dictionary

이번에는 새로운 개념을 도입해보자!! 바로 딕셔너리이다. 영어로 딕셔너리는 무슨 뜻인가?? 사전 이라는 뜻이다. 이 딕셔너리를 사용하는 이유는 여러 정보를 하나의 묶음으로 묶기 위해서 사용된다.

우리가 지금가지 배운 지식으로 메이플스토리 캐릭터를 표현한다고 생각해보자. name, level과 같은 정보들을 아래와 같은 변수들을 선언함으로서 나타낼 수 있었지만 이 변수들은 다 떨어져있기 때문에 이 전체를 묶을 수는 없었다.

name = "타락파워전사"
job = "궁수"
level = 13
...

하지만 Dictionary를 이용한다면 저런 정보들을 하나의 묶음으로 나타낼 수 있다.

무엇인가??

자 아래에 있는 코드가 바로 딕셔너리이다. 딕셔너리는 어떤 객체의 특성들과 값들을 담고있는 변수이다. 간단하게 이야기하면 “너 이름이 뭐니?” 라고 하면 바로 “내 나이는 20살이야” 라고 바로 이야기 할 수 있는 것 처럼, 모든 객체는 각자의 고유의 특성과 값을 갖고있다.

예를 들어서 사과의 색:빨간색, 재학중학교이름:국민대학교, 미팅한횟수:17 이런식으로 각각의 값들을 특성:값 형태로 나타낼 수 있는데 이를 바로 key:value 형식이라고 한다.

딕셔너리는 이런 key:value형식을 기반으로 사용되는데, 아래와 같은 코드를 보면 바로 이해가 가능할 것이다. 예제는 메이플 스토리 캐릭터의 정보에 대한 딕셔너리이다.

user = {
  "name":"타락파워전사",
  "job":"궁수"
  "level":13,
  "hp":550,
  "mp":240,
  "items":["파란포션","소가죽","토비","나뭇가지"]
}

사용방법

선언하기

딕셔너리를 사용하는 방법은 간단하다. 아래와 같이 “key”와 value를 :로 이어주면 되는데, 절대로 Dictionary 안에 같은 key가 1개 이상 존재할 수 없다. 즉 무조건 다른 key들을 사용해야한다.

dic = {
  "key1":value,
  "key2":value,
  ...
}

value에는 어떤 값들이든 다 들어갈 수 있다. int, str, bool, list, 심지어 딕셔너리도 들어갈 수 있다. 맨 아래 예제를 보면 어떤 형식으로 사용될 수 있는지 바로 알 수 있다.

값을 가져오기

그럼 값을 가져오려면 어떻게 해야하는가?

[]를 사용해소 오른쪽과 같이 key를 넣어준다면 이에 맞는 value를 넘겨준다. : dic[“key”]

print(user["name"])  #타락파워전사
print(user["level"])  #13
print(user["items"])  #["파란포션","소가죽","토비","나뭇가지"]

최종 예제

나의 정보를 Dictionary를 이용해서 표현해보자!!

junseong = {
  "age":16,
  "name":"Junseong",
  "male":True,
  "favorite":["apple","banana","orange"],
  "address":{
    "Country":"South Korea",
    "State":"Kyeong-gi",
    "City":"Koyang"
  },
  "families":[
  {
    "type":"mother",
    "name":"Yunha Kim",
    "age":40
  },
  {
    "type":"father",
    "name":"Dohyeon Kim",
    "age":40
  },
  {
    "type":"sister",
    "name":"Domin Kim",
    "age":40
  },
  ]
}