딕셔너리 선언하기
a = {} # 중괄호!
a = dict()
a = {'키key':'값value'}
jason과 형태가 같다. api를 만들거나, 다른 프로그램과 데이터를 주고받고 저장할 때 많이 쓰이는 자료 구조.
info = {
"name" : "Rafa",
"country" : "Spain",
"residence" : "Mallorca",
"language" : ["Spanish", "Catalan", "English"] # 리스트를 넣을 수도 있다.
}
# 수정
info["country"] = "Korea"
# 삭제1
del info["residence"]
# 삭제2
info.pop("language")
# 추가1
info["born"] = 860609
# 추가2
b = {"web" : "gracegoh.site"}
c = {"girl" : "gracegoh"}
info.update(b)
info.update(c)
print(info)
print(info.keys())
# dict_keys(['name', 'country', 'born', 'web', 'girl'])
print(info.values())
# dict_values(['Rafa', 'Korea', 860609, 'gracegoh.site', 'gracegoh'])
print(info.items())
# dict_items([('name', 'Rafa'), ('country', 'Korea'), ('born', 860609), ('web', 'gracegoh.site'), ('girl', 'gracegoh')])
.get(
키)
info.get("name") # key에 해당하는 값을 출력한다.
# Rafa
info.get("height")
# None
.get()
은 해당 key가 없더라도 오류가 발생하지 않고 None을 리턴한다.
그러나 아래와 같이 리스트[key]
로 직접 접근하면 해당 key가 없을 경우 오류가 발생하므로, 오류 방지를 위해서는 .get()
을 쓰는 게 좋다. (확실할 경우에는 직접 접근해도 무방하다.)
# 직접 접근
info["name"]
# Rafa
info["height"]
# 오류
.get(
없는키, 디폴트값)
딕셔너리 안에 찾는 key가 없을 경우, 설정한 디폴트값으로 리턴한다.
info.get('sponsor', 'KIA')
# KIA
특정 key가 있는지 여부는 in
을 통해 확인한다.
"girl" in info
# True