중복되지 않고 불변해야한느 키와 중복될 수 있는 데이터 타입으로 이루어진 Key - Value 쌍
키는 대소문자를 구분한다.
# 딕셔너리 (Dictionary)
# 빈 딕셔너리 생성
dict_name = {}
fees = {}
# 딕셔너리 생성
stu = {101: "Kim", 102: "Bae", 103: "Hong"}
fees = {"kim": 2000, "bae": 3000, "hong": 8000}
# 딕셔너리 접근 : 키를 참조하면서 접근
print(stu[101])
print(stu[102])
print(stu[103])
# Kim
# Bae
# Hong
print(fees["kim"])
print(fees["bae"])
print(fees["hong"])
# 2000
# 3000
# 8000
# 딕셔너리는 수정이 가능하다. : 키를 참조해서 값을 수정
stu[102] = "Python"
print(stu)
# {101: 'Kim', 102: 'Python', 103: 'Hong'}
stu[104] = "딕셔너리"
print(stu)
# {101: 'Kim', 102: 'Python', 103: 'Hong', 104: '딕셔너리'}
print(102 in stu)
# True
del stu[102] # 키 102 삭제 : del 문 사용
print(102 in stu)
# False
print(stu)
# {101: 'Kim', 103: 'Hong', 104: '딕셔너리'}
stu.clear() # clear() 메서드
print(stu)
# {}
# fromkeys
new_stu = stu.copy() # copy() 메서드
key = (101, 102, 103)
value = "딕셔너리"
new_stu = dict.fromkeys(key, value) # 일괄적으로 삽입 : fromkeys() 메서드
print(new_stu)
# {101: '딕셔너리', 102: '딕셔너리', 103: '딕셔너리'}
print(new_stu[101]) # 파이썬 특유의 코드슈가
print(new_stu.get(101)) # 함수형으로 접근
# 딕셔너리
# 딕셔너리
print(new_stu.items())
# dict_items([(101, '딕셔너리'), (102, '딕셔너리'), (103, '딕셔너리')])
print(new_stu.keys())
# dict_keys([101, 102, 103])
print(new_stu.values())
# dict_values(['딕셔너리', '딕셔너리', '딕셔너리'])
# 추가 삭제
stu = {101: "Kim", 102: "Bae", 103: "Hong"}
stu[104] = '멋쟁이사자'
print(stu)
# {101: 'Kim', 102: 'Bae', 103: 'Hong', 104: '멋쟁이사자'}
stu.update({104: '멋쟁이사자2'})
print(stu)
# {101: 'Kim', 102: 'Bae', 103: 'Hong', 104: '멋쟁이사자2'}
print(stu.pop(104))
# 멋쟁이사자2
print(stu)
# {101: 'Kim', 102: 'Bae', 103: 'Hong'}