딕셔너리란?
딕셔너리는 키와 값이 한 쌍이 되어 나열된 시퀀스를 의미한다.
car = {"A" : "소나타", "B" : "그랜저, "C" : "재네시스"}
빈 딕셔너리 생성 및 항목 추가와 참조
user = {} 이런 식으로 빈 중괄호를 열어 빈 딕셔너리를 생성 할 수 있다.
user["1" ] = "PINO" 이런 식으로 딕셔너리에 항목을 추가 할 수 있다.
user = {}
user["1"] = "PINO"
print(user["1"])
# >>> PINO
딕셔너리의 키 값은 수정 불가능한 객체로 사용해야한다.
딕셔너리 키는 수정 불가능한 객체는 모두 가능하다.
따라서 정수, 실수, 튜플도 이용이 가능하며, 리스트는 불가능하다.
딕셔너리 항목의 순회
딕셔너리 항목을 순회하기 위해서는 keys()와 values(), items()를 이용한다.
# dict()를 이용한 딕셔너리 생성
days = dict(월 = "monday", 화 = "tuesday", 수 = "wednesday")
print(days) # {"월" : "monday", "화" : "tuesday", "수" : "wednesday"}
# keys()는 딕셔너리의 키로 구성된 리스트를 반환하다.
print(days.keys()) # dict_keys(["월", "화", "수"])
# items()는 딕셔너리의 키와 값으로 이뤄진 튜플이 들어간 리스트 반환
print(days.items()) # dict_items([("월", "monday"), ("화", "tuesday"), ("수", "wednesday")])
# values()는 딕셔너리의 값으로 구성된 리스트를 반환한다.
print(days.values()) # dict_values(["monday", "tuesday", "wednesday"])
딕셔너리 항목의 참조와 삭제
days의 딕셔너리를 생성한다.
days = dict(월 = "monday", 화 = "tuesday", 수 = "wednesday")
print(days) # {"월" : "monday", "화" : "tuesday", "수" : "wednesday"}
get(key)는 키를 입력 받아서 값을 반환한다.
# get(key)은 딕셔너리의 키를 입력 받아 값을 반환한다.
print(days.get("월")) # monday
pop(key)는 키를 입력 받아 값을 제거하고, 제거 되는 값을 반환한다.
# pop(key)는 딕셔너리의 키를 입력 받아 값을 제거하고 제거되는 값을 반환한다.
print(days.pop("월")) # monday
print(days) # {"화" : "tuesday", "수" : "wednesday"}
#만약에 key 값이 없는 분기 처리를 하고 싶다면 pop(key, (키가 없을 때 출력할 값))
print(days.pop("목", "없습니다.") # 없습니다.
popitem()은 임의의 (키, 값) 튜플을 반환하고 딕셔너리에서 삭제한다.
# popitem() 임의의 (키, 값) 튜플을 반환하고 딕셔너리에서 삭제한다.
print(days.popitem()) # ("수", "wednesday")
del은 항목 삭제와 전체 삭제를, clear()는 전체 삭제가 가능하다.
# 딕셔너리 생성
days2 = dict(월 = "monday", 화 = "tuesday", 수 = "wednesday")
# del를 이용한 삭제
del days1["화"]
print(days1) # {"월" : "monday", "수" : "wednesday"}
#clear()를 이용한 배열 비우기
days1.clear()
print(days1) # {}
# del를 이용한 변수 삭제
del days(1)
print(days1) #Error 찾을 수 없다.
update()는 딕셔너리 결합을 해주는 메소드다.
a = {1 : "철수", 2 : "영희", 3 : "짱구"}
b = {3 : "맹구", 4 : "훈이"} # 중복 되는 키가 있으면 Value가 덮어짐
a.update(b)
print(a) # {1: '철수', 2: '영희', 3: '맹구', 4: '훈이'}
in을 이용한 키 값 검사
a = {1 : "철수", 2 : "영희", 3 : "짱구"}
print(1 in a) # true
'Language > Python' 카테고리의 다른 글
[Python] 람다 함수 (0) | 2022.06.12 |
---|---|
[Python] 함수 (0) | 2022.06.12 |
[Python] 리스트(2) (0) | 2022.06.06 |
[Python] 리스트(1) (0) | 2022.06.06 |
[Python] requests와 json을 이용한 http 통신하기. (0) | 2022.06.04 |