# Dictionary Type
# 객체를 키와 값으로 저장
# {키 : 값} 또는 dict() python 내장함수를 이용
# 순서없는 / 변경가능한 데이터 타입

my_d = {10: "aa", 20: "bb", 30: "cc"}    # key는 중복될 수 없다
print(my_d)
print(type(my_d))

# 순서가 없으므로 index / slicing 사용 불가능
# dictionary 안의 값들을 가져오는 방법
print(my_d[20])    # 대괄호 안에 index가 아닌 key를 쓴다
print(my_d.get(20, "zz"))    # dictionary 멤버 함수 get.
print(my_d.get(40, "zz"))    # " "안의 값은 default값.

# 수정 가능함
my_d[10] = "AA"
print(my_d)

my_d[40] = "dd"    # 키가 있으면 수정되고, 없으면 추가가 된다
print(my_d)

# 삭제하기
print(my_d.pop(20))
print(my_d)

del(my_d[10])
print(my_d)

# 키 요소들만 리스트로 추출
print(my_d.keys())
# 값 요소들만 리스트로 추출
print(my_d.values())
# 리스트의 키 값으로 튜플이 구성된다
print(my_d.items())