딕셔너리 자료형은 말 그대로 사전형 자료형이다.
우리가 영어사전을 보면 단어와 뜻이 매칭되어서 쓰여있는데,
단어 = key , 뜻 = value 로 각각 대응된다고 보면 된다.
딕셔너리 자료형 = key - value 쌍으로 데이터를 저장하는 자료형!
my_dic = {
5: 25,
2: 4,
3: 9
}
print(type(my_dic)) # <class 'dict'>
my_dic = {
5: 25,
2: 4,
3: 9
}
my_dic[3]
print(my_dic[3]) # 9
my_dic[9] = 91
print(my_dic)
# my_dic = {
# 5: 25,
# 2: 4,
# 3: 9
# 9: 81 # 값이 새로 추가됨!
# }
사전의 key 데이터 타입으로는 반드시 정수일 필요는 없다!
my_dic = {
5: 25,
2: 4,
3: 9
}
print(5 in my_dic.values()) # False
# 반복문 활용
for value in my_dic.values():
print(value)
#25
#4
#9
my_dic = {
5: 25,
2: 4,
3: 9
}
for key in my_dic.keys():
print(key) # 키 목록들을 받아오기
my_dic = {
5: 25,
2: 4,
3: 9
}
for key in my_dic.keys():
value = my_family[key]
print(key, value)
my_dic = {
5: 25,
2: 4,
3: 9
}
for key, value in my_dic.items():
print(key, value)
# items() 함수를 쓰면 키&값을 한 번에 받아올 수 있음
# 언어 사전의 단어와 뜻을 서로 바꿔주는 함수
def reverse_dict(dict):
new_dict = {} # 새로운 사전
for key, value in dict.items():
new_dict[value] = key
# dict의 key와 value를 뒤집어서 new_dict에 저장
return new_dict # 변환한 새로운 사전 리턴
# 영-한 단어장
vocab = {
'sanitizer': '살균제',
'ambition': '야망',
'conscience': '양심',
'civilization': '문명',
'privilege': '특권',
'principles': '원칙'
}
# 기존 단어장 출력
print("영-한 단어장\n{}\n".format(vocab))
# 변환된 단어장 출력
reversed_vocab = reverse_dict(vocab)
print("한-영 단어장\n{}".format(reversed_vocab))
# 투표 결과 리스트
votes = ['김영자', '강승기', '최만수', '김영자', '강승기', '강승기', '최만수', '김영자', \
'최만수', '김영자', '최만수', '김영자', '김영자', '최만수', '최만수', '최만수', '강승기', \
'강승기', '김영자', '김영자', '최만수', '김영자', '김영자', '강승기', '김영자']
# 후보별 득표수 사전
vote_counter = {}
# 리스트 votes를 이용해서 사전 vote_counter를 정리하기
for name in votes:
# 코드를 작성하세요.
if name not in vote_counter:
vote_counter[name] = 1
else:
vote_counter[name] += 1
# 후보별 득표수 출력
print(vote_counter)
2021-09-12