2021. 1. 29. 18:44ㆍpython
# 자료형
#1.5 딕셔너리
#개요 묵음이 {}이 되어 있고 {'key1':'value1','key2':'value2'}
#연산시 입력한 순서대로 출력하지 않고 key를 통한 값을 호출한다.
dic = {'name':'jone','number':"010-0000-0000",'phone':"iphone"}
dic2= {1:'apple'}
dic3={'a':[1,2,3]}
print(dic)
print(dic2)
print(dic3)
print(dic['name'])
print(dic2[1])
print(dic3['a'])
#print(dic['jone']) # KeyError: 'jone' 키를 대신하여 호출인자로 사용할 수 없다.
a = {1:'a'} # 딕셔너리 선언(생성)
print(a[1]) # 딕셔너리 출력( 문자열 자료형의 인덱싱과 동일)
a[2]='b' # 딕셔너리 추가 (key = value )
print(a)
c={} # 의미상으로 비어 있는 딕셔너리 변수를 생성
c['name'] = 'tim'
c['nickname'] = 'kakao'
print(c)
# a= {2:'apple'}
# # print(a+c) TypeError: unsupported operand type(s) for +: 'dict' and 'dict'
# c={2:'hello'}
# a = a+c # 딕셔너리끼리는 병합을 할 수 없다 .
# print(a)
g={2:'apple'} # 딕셔너리의 value는 리스트도 가능하다.
g[3]= [7,8,9]
print(g)
del g[3] # key를 삭제하면 key와 함께 value도 삭제된다.
print(g)
del g[2]
print(g)
#관련함수 keys(): , value : key또는 value 값만을 출력
#items : key와 value의 내용을 모두출력
#clear : 모두 삭제 빈 리스트만 출력
dic = {'name': 'jone', 'number': "010-0000-0000", 'phone': "iphone"}
print(dic.keys())
print(dic.values())
# print(dic['name'].keys()) #AttributeError: 'str' object has no attribute 'keys'
# print(dic.items())
# print(dic.clear())
# print(dic)
# get('key') key를 이용한 value 호출
a = dic.get('name')
print(a)
print(dic.get('number'))
print(dic.get('phone','number')) #get(존재 하지 않는 key 명은 기본값(default)가 출력된다.) 반대로 있는 키명은 있는 키 명이 출력된다.
print(dic.get('hello', 'tim')) # key에 hello라는 값이 없기 때문에 기본값인 것을 호출