[Python] 사전(Dictionary)

작성:    

업데이트:

카테고리:

태그: , , ,

사전(dictionary)

  • 단어, 단어에 대한 정의
  • key, key에 해당하는 value
  • key에 대한 중복이 허용되지 않음
  • 중괄호 {key:value} 로 표현


1. 활용

cabinet = {3:"유재석", 100:"김태호"}
print(cabinet[3])  # 3번 key는 '유재석'이 가지므로 출력값 : 유재석
print(cabinet[100])  # 출력값 : 김태호

print(cabinet.get(3))  # .get() : 자료형에서 해당 key의 값(value)을 가져오는 함수


2. key가 할당되지 않는 경우 [] vs .get()

cabinet = {3:"유재석", 100:"김태호"}

print(cabinet[5])  # key가 없기 때문에 KeyError 발생, 이후 프로그램 종료
print("HI")  # 프로그램이 종료되어 출력되지 않음

print(cabinet.get(5))  # key가 없기 때문에 None 발생, 이후 프로그램 진행
print("HI")  # 프로그램이 계속 진행되어 HI 출력


3. .get() 이후 없는 key에서 None 발생 대신 다른 문구를 쓰고 싶을 때

cabinet = {3:"유재석", 100:"김태호"}

print(cabinet.get(5, "사용 가능"))


4. 사전 자료형에서 자료 있는지 확인

  • key in variable
cabinet = {3:"유재석", 100:"김태호"}

print(3 in cabinet)  # 출력값 : True
print(5 in cabinet)  # 출력값 : False


5. 문자열 key

  • key는 문자열도 가능
cabinet = {"A-3":"유재석", "B-100":"김태호"}
print(cabinet["A-3"])
print(cabinet["B-100"])


6. 기존 key의 value 입력/변경

  • 새 손님(조세호)이 온 경우
  • C-20 key에 값이 있든 없든 ‘조세호’ 라는 value 등록
cabinet = {"A-3":"유재석", "B-100":"김태호"}

cabinet["A-3"] = "김종국"
cabinet["C-20"] = "조세호"
print(cabinet)  # 출력값 : {'A-3': '김종국', 'B-100': '김태호', 'C-20': '조세호'}


7. 기존 key의 value 제거

  • 손님이 간 경우
  • del 함수를 이용하여 key에 해당하는 value 삭제
del cabinet["A-3"]
print(cabinet)  # 출력값 : {'B-100': '김태호', 'C-20': '조세호'}


8. key/value 출력

# key들만 출력
print(cabinet.keys())
# 출력값 : dict_keys(['B-100', 'C-20'])

# value들만 출력
print(cabinet.values())
# 출력값 : dict_values(['김태호', '조세호'])

# key, value 쌍으로 출력
print(cabinet.items())
# 출력값 : dict_items([('B-100', '김태호'), ('C-20', '조세호')])


9. clear

# 목욕탕 폐점
cabinet.clear()
print(cabinet)  # 출력값 : {}


Reference

댓글남기기