※ 사전 (Dictionary)
- key : value 방법을 통해 저장
- key값을 통해 value에 access함
- key는 중복될 수 없음
- 리스트는 key가 될 수 없으나 튜플은 key가 될 수 있음
- 위치로 인덱싱이 되지 않음
- 순서가 아닌 의미가 있는 값을 통해서 데이터 접근이 가능
- { } 이용하여 표현, 반드시 :가 들어가야 함
■ 딕셔너리 생성방법
> D = {"major" : "math", "name" : "apple"}
> D # {'major': 'math', 'name': 'apple'}
■ 원소 추가, 삭제
- 추가: 딕셔너리명[추가할 key] = value
- 삭제: del 딕셔너리명[삭제할 key]
# 추가
> D["name"] = ["a", "b"]
> D["number"] = 6
# 삭제
> del D["name"]
■ Indexing
> D = {"major" : "math", "name" : "apple"}
> D["major"] # math
■ 딕셔너리 관련 함수
□ .keys() / .values() / .items()
- .keys(): 딕셔너리의 모든 key값들 보기
- .values(): 사전의 모든 value값들 보기
- .items(): 사전의 모든 key, value 쌍 보기
- 출력 결과물들의 type이 dict_… 이기 때문에 편하게 사용하고 싶으면 list로 변환 후 사용한다.
> D = {"major" : "math", "name" : "apple"}
> D.keys() # dict_keys(['major', 'name'])
> D.values() # dict_values(['math', 'apple'])
> D.items() # dict_items([('major', 'math'), ('name', 'apple')])
□ .clear()
> D = {"major" : "math", "name" : "apple"}
> D.clear()
> D # {}
□ .get()
- 사전의 원소 가져오기
- .get() 없이 인덱싱하는 방법과 동일하나, 없는 값에 대해서는 오류 없이 None을 리턴 함
없는 값들에 대해서는 default값을 지정할 수 있음
> D = {"major" : "math", "name" : "apple"}
> D["major"] # math
> D.get("major") # math
> D['minor'] # 오류 발생
> D['minor'] # 아무 것도 발생하지 않음
# default 지정
> D.get("minor", "CSE") # CSE
□ update()
> D = {"major" : "math", "name" : "apple"}
> D1 = {"minor" : "CSE"}
> D.update(D1)
> D
{'major': 'math', 'name': 'apple', 'minor': 'CSE'}
□ zip()을 활용한 딕셔너리 생성
> key = ("A", "B")
> values = (1, 2)
> result = dict(zip(key, values))
> result # {'A': 1, 'B': 2}
댓글남기기