딕셔너리에서 주의할 점은 키에 상응하는 값이 한 가지만 있어야 하기 때문에 중복되는 키가 없어야 한다.
알아서 딕셔너리를 만드는 방법도 있지만 dict() 생성 함수를 사용하는 방법도 있다.
my_dict = dict([('key1','value1'),('key2','value2')]
Python
복사
my_dict = dict(key1='value1',key2='value2')
Python
복사
딕셔너리에서 값을 얻기 위해서는 key값을 이용하면 된다.
language = {
1: 'Python',
2: 'C++',
3: 'Java'
}
python = language[1]
java = language[3]
print(python, java)
Python
복사
Python Java
딕셔너리 값 변경
key에 새로운 값을 할당하면 값을 변경할 수 있다.
language = {
1: 'Python',
2: 'C++',
3: 'Java'
}
language[2] = 'C#'
print(language)
Python
복사
{1: 'Python', 2: 'C#', 3: 'Java'}
•
update()
.update() 메서드를 이용해서 한번에 여러 값을 수정할 수 있다.
update_dict = {
'is_student':False,
'interests':['programming','reading']
}
my_dict.update(update_dict)
Python
복사
딕셔너리 키와 값 삭제
키와 값을 삭제하고 싶을 때는 pop()메서드를 사용한다.
•
pop()
삭제하고 싶은 요소의 키를 넣으면 키와 값이 둘 다 삭제된다.
my_dict = {
'name':'John',
'age':30,
'city':'New York'
}
my_dict.pop('name')
Python
복사
keys() / values() / items()
딕셔너리 메서드 중에는 키, 값, 키와 값 쌍을 알아낼 수 있게 해주는 메서드들이 있다.
•
.keys()
키만을 모아서 반환한다.
my_dict = {
'name':'John',
'age':30,
'city':'New York'
}
keys = my_dict.keys()
Python
복사
•
.values()
값만을 모아서 반환한다.
values = my_dict.values()
Python
복사
•
.items()
키와 값을 쌍으로 반환한다.
items = my_dict.items()
Python
복사
language = {
1: 'Python',
2: 'C++',
3: 'Java'
}
keys = language.keys()
print(keys)
Python
복사
dict_keys([1, 2, 3])
연습 문제
ex 1. 0부터 26까지의 숫자들로 된 리스트 numbers를 문자로 해독한 뒤 문자들을 더해서 문자열로 반환하는 함수 decode(numbers)를 작성
number_to_alphabet = {
1: 'a', 2: 'b', 3: 'c', 4: 'd', 5: 'e',
6: 'f', 7: 'g', 8: 'h', 9: 'i', 10: 'j',
11: 'k', 12: 'l', 13: 'm', 14: 'n', 15: 'o',
16: 'p', 17: 'q', 18: 'r', 19: 's', 20: 't',
21: 'u', 22: 'v', 23: 'w', 24: 'x', 25: 'y', 26: 'z'
}
def decode(numbers: list[int]) -> str:
decode_str = ''
for idx, num in numbers:
decode_str = decode_str + number_to_alphabet[num]
return decode_str
Python
복사