:key와 value 가 pair을 이룬다(키-값 쌍)
my_dictionary = { #사전 정의하기
5: 25,
2: 4,
3: 9,
}
print(my_dictionary[3]) # 3key의 값 가져오기
# 값 추가하기
my_dicionary[9] = 81
print(my_dicrionary)
# 정수가 키, 값 지정도 가능하다
my_dictionary = {
"엄마": "김자옥",
"아빠": "이석진",
"아들": "이동민",
}
print(my_dictionary["아빠"])
9
{5: 25, 2: 4, 3: 9, 9: 81}
이석진
-리스트는 순서대로 키가 정해짐
-사전은 키가 순서와 관계없음. 키가 정수일 필요가 없다!
my_family = {
"엄마": "김자옥",
"아빠": "이석진",
"아들": "이동민",
"딸": "이지영",
}
print(my_family.values()) # 사전 내 값 확인
print("이지영" in my_family.values()) # "이지영" 값이 사전내 있는지 확인
#키 목록 받아오기
print(my_family.key())
dict_values(["김자옥", "이석진", "이동민", "이지영"])
Ture
dict_values(["엄마", "아빠", "아들", "딸"])
my_family = {
"엄마": "김자옥",
"아빠": "이석진",
"아들": "이동민",
"딸": "이지영",
}
# 값 출력
for value in my_family.values():
print(value)
# 키 출력
for key in my_family.keys():
print(key)
# 키와 값 동시출력
for key, value in my_family.items():
print(key, value)
김자옥
이석진
이동민
이지영
엄마
아빠
아들
딸
엄마 김자옥
아빠 이석진
아들 이동민
딸 이지영
# 언어 사전의 단어와 뜻을 서로 바꿔주는 함수
def reverse_dict(dict):
new_dict = {} # 새로운 사전
for key, value in vocab.items(): # dict의 key와 value를 뒤집어서 new_dict에 저장
new_dict[value] = key
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))
영-한 단어장
{'sanitizer': '살균제', 'ambition': '야망', 'conscience': '양심', 'civilization': '문명', 'privilege': '특권', 'principles': '원칙'}
한-영 단어장
{'살균제': 'sanitizer', '야망': 'ambition', '양심': 'conscience', '문명': 'civilization', '특권': 'privilege', '원칙': 'principles'}
# 투표 결과 리스트
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)
{'김영자': 11, '강승기': 6, '최만수': 8}