key는 유일한 값이어야 하고, 변경할 수 없어야 한다.
value는 중복 가능하다.
cat = {'name': 'ggomi', 'age': 3, 'hobby': ['catch', 'sleep']}
print(cat['name'])
print(cat['hobby'][0])
print(cat['address'])
>>>
ggomi
catch
❌KeyError: 'address'
print(cat.get('name'))
print(cat.get('hobby')[0])
print(cat.get('address'))
>>>
ggomi
catch
⭕None
cat = {}
cat['name'] = 'ggomi'
cat['age'] = 2
cat['hobby'] = ['catch', 'sleep']
print(cat)
>>>
{'name': 'ggomi', 'age': 2, 'hobby': ['catch', 'sleep']}
이미 존재하는 키라면? 해당 키의 값이 수정된다.
(이어서...)
cat['age'] = 3
print(cat)
>>>
{'name': 'ggomi', 'age': 3, 'hobby': ['catch', 'sleep']}
딕셔너리의 전체 key, value, item을 가져올 때 사용한다.
numbers = {1: 10, 2: 20, 3: 30, 4: 40, 5: 50}
ks = numbers.keys()
print(ks, type(ks))
vs = numbers.values()
print(vs, type(vs))
items = numbers.items()
print(items, type(items))
>>>
dict_keys([1, 2, 3, 4, 5]) <class 'dict_keys'>
dict_values([10, 20, 30, 40, 50]) <class 'dict_values'>
dict_items([(1, 10), (2, 20), (3, 30), (4, 40), (5, 50)]) <class 'dict_items'>
dict_keys, dict_values, dict_items를 리스트로 변환하여 사용한다.
# 리스트로 변환 후 for문을 이용하여 조회
numbers = {1: 10, 2: 20, 3: 30, 4: 40, 5: 50}
ks = numbers.keys()
ks = list(ks)
for idx, key in enumerate(ks):
print(f'{idx}: {key}', end=' ')
>>>
0: 1 1: 2 2: 3 3: 4 4: 5
# for문을 이용하여 딕셔너리 조회하기
numbers = {1: 10, 2: 20, 3: 30, 4: 40, 5: 50}
for key in numbers.keys():
print(f'{key}: {numbers[key]}')
>>>
1: 10
2: 20
3: 30
4: 40
5: 50
numbers = {'1': 10, '2': 20, '3': 30, '4': 40, '5': 50}
# del
del numbers['1']
print(numbers)
# pop()
popNum = numbers.pop('2')
print('삭제된 데이터:', popNum)
print(numbers)
>>>
{'2': 20, '3': 30, '4': 40, '5': 50}
삭제된 데이터: 20
{'3': 30, '4': 40, '5': 50}
numbers = {1: 10, 2: 20, 3: 30, 4: 40, 5: 50}
print(1 in numbers) # True
print(1 not in numbers) # False
numbers = {1: 10, 2: 20, 3: 30, 4: 40, 5: 50}
numbers.clear()
print(numbers)
>>>
{}
🚗 오늘은 딕셔너리에 대해 배웠다.
이제 기본적인 파이썬 장비를 모두 장착했다. 업그레이드 해나가야지!
🚕 내일은 금요일이다. 자료구조 문제를 풀면서 한 번 더 개념을 정리해야겠다.