Dictionary(사전형)
- 데이터를 구분짓기 위한 값을 index대신 key를 두고
key를 통해서 value값을 가져오는 형식
- key와 value 를 1:1한쌍으로 데이터를 저장하는 저장소
- value값은 key값을 통해서만 접근이 가능하다
※ 웹에서 기본적으로 데이터를 주고받는 형식
생성
- {}를 이용해서 생성한다
- 데이터를 넣기 위해서는 key와 value 값을 같이 입력하여야 한다
- 형식
변수명 = {key:value , key:value , key:value ~ }
- 호출
변수명[key]
dic = { 'a' : 1, 'b' : 2,'c' : 3}
print(type(dic))
print(dic)
print(dic.__len__())
print(len(dic))
print(dic['a'])
for key in dic:
print(key," - ",dic[key])
dictionary는 tuple과 다르게 데이터 변경이 가능하기 때문에
# None == NULL , null
# - 없는 값
a = None # a라는 변수에 아무값이 없다
print(a)
print(type(a))
dic = {'a':1,'b':2,'c':3}
# Dictionary 함수
# - update(dict) - 사전형자료에 값을 추가한다
# - key값이 같으면 value값을 수정하고 ,key값이 없으면 추가를 한다
dic.update({'a':0})
dic.update({'d':4 , 'e' : 5}) # 여러개 추가 가능
dic.setdefault('b',1) # 하나만 추가 가능하고 같은 키값이면 아무런 일이 일어나지 않는다
print(dic)
# - fromkeys(iter, value) - 리스트,튜플에 존재하는 값을 키로 사전형자료를 생성하여 반환한다
# ls = [1,2,3,4]
# print(dic.fromkeys(ls,(1,2,3,4)))
# - get(key) - 사전형의 키를 통해값을 반환한다
# - key값이 없으면 None을 반환 한다
# - 뒤에 value값을 적으면 key값이 없을때 value값을 반환 한다
print(dic.get('a')) # == dic['a']
print(dic.get('f'))
print(dic.get('f',1))
# - keys() - 사전형의 모든키를 반환한다
# - 리스트나 튜플타입으로 변환하여 사용이 가능하다
print(dic.keys())
key = dic.keys()
for i in key:
print(i)
# print(key[0])
key = list(key)
print(key[0])
# - values() - 사전형의 모든값을 반환한다
# - 사전형의 기본 모토에 벗어나므로 잘 사용되지 않는다
# - 리스트나 튜플타입으로 변환 하여 사용가능
print(dic.values())
value = dic.values()
for v in value:
print(v)
#value[0]
# - items() - 사전형의 모든키-값의 쌍을 튜플로 반환한다
print(dic.items())
it = dic.items()
for k,v in it:
print(k,v)
# - pop(key) - 사전형의 키를 통해 값을 반환 후 삭제한다
# - key 값이 있으면 삭제 , 없으면 error 발생
print(dic.pop('e'))
print(dic)
# - popitem() - 사전형의 키-값의 쌍을 튜플로 반환 후 삭제한다
# 제일 마지막 데이터
print(dic.popitem())
print(dic)
# - clear() - 사전형의 모든키-값을 삭제하여 빈 사전형 자료만 남긴다
dic.clear()
print(dic)
추가, 수정, 삭제가 가능하다
예시로는
dl = {'음료':['탄산', '과일', '우유', '물'],
'식사':['김밥', '라면', '돈까스', '비빔밥']}
# 머릿속에 데이터 구조가 있어야 한다
# 변수명부터 순차적 접근
for key in dl:
print(key,end=" : ")
#print(type(dl[key]))
for i in range(dl[key].__len__()):
print(dl[key][i],end=" ")
print()
'PYTHON' 카테고리의 다른 글
[PYTHON] 클래스(Class) (0) | 2023.07.03 |
---|---|
[PYTHON] 디폴트 매개변수 (0) | 2023.07.03 |
[PYTHON] list와 tuple (0) | 2023.06.29 |
[PYTHON] import time 관련 예제 (0) | 2023.06.29 |
[PYTHON] 클래스(String) (0) | 2023.06.29 |