값이 key와 value 이렇게 한쌍으로 이루어져 있는 것을 말한다.
딕셔너리이름 = { key1 : value1 , key2 : value2 , ... }
이렇게 1대1 대응되도록 설정하는데 주의해야 할 것은 key값은 중복허용이 되지 않는다.
(당연함. id가 같은거랑 똑같은 상황)
또한 key는 변할 수 있는 값으로 설정해서는 안된다!
빈 리스트와 마찬가지로 빈 딕셔너리도 괄호만 쳐서 넣으면 된다.(나중에 값을 넣으면 된다)
빈 리스트 예시 --> my_list = [ ]
빈 딕셔너리 예시 --> my_dict = { }
my_bag = {2:"노트", 5:"립스틱"}
print(my_bag[2])
위 예시처럼 출력하면 결과값은 노트가 나온다.
이름이 2인 key에 "노트"가 저장되어있는데 해당 딕셔너리에서 key가 2인 값을 호출했으니 노트가 출력된 것이다.
my_bag = {2:"노트", 5:"립스틱"}
print(my_bag[2]) # 노트 출력
print(my_bag.get(2)) # 노트 출력
인덱스처럼 [ ] 를 사용하지 않고 get함수를 사용해도 동일하게 출력된다.
물론 다른점이 분명히 존재한다.
만약 여기서 존재하지 않는 key값을 [ ]를 이용해 호출한다면 즉시 프로그램을 종료하지만 (이후에 출력되어야 할 값들도 실행되지 않고 즉시 종료됨)
get( )을 사용하면 None을 출력한 후 다음 코드를 실행한다.
또한 get( )함수의 좋은 점은 정의되지않은 key값을 호출할 시 임시적으로 기본값을 출력할 수 있게 해준다는 것이다.
print(my_bag.get(40, "비어있음"))
출력결과 : 비어있음
my_bag = {2:"노트", 5:"립스틱", "파우치":"거울"}
my_bag[5] = "머리끈" # 존재하는 key값 -> 값 변경
my_bag["지갑"] = "신용카드" # 존재X key값 -> 값 추가
print(my_bag)
출력 : { 2 : '노트' , 5 : '머리끈' , '파우치' : '거울', '지갑' : '신용카드' }
위 예시에 주석으로 적어놓았듯
[ ]를 이용하여 값을 추가/변경할 수 있다.
[ ]에 적은 key값이 존재할 경우 값을 해당 내용으로 변경한다.
하지만 존재하지 않았을 경우 해당 key와 value를 딕셔너리에 추가한다.
삭제하는 방법은 앞에 del을 붙여서 key값만 적어주면 된다.
del my_bag[5]
print(my_bag)
출력 : { 2 : '노트' , '파우치' : '거울', '지갑' : '신용카드' }
위의 예시에서 딕셔너리를 출력하면 key와 그에 해당하는 value가 모두 같이 출력됨을 알 수 있다.
만약에 key만 또는 value만 모아서 따로 확인하고 싶다면 어떻게 해야할까
print(my_bag.keys())
print(my_bag.values())
출력
dict_keys([2, '파우치', '지갑'])
dict_values(['노트', '거울', '신용카드'])
keys( )함수와 values( )함수를 이용하면 쉽게 값을 얻을 수 있다^^
💡 리스트 및 딕셔너리 한번에 삭제하기
clear( )함수를 이용하면 모든 데이터를 한번에 삭제할 수 있다!