# 딕셔너리 생성1
dct = {'a': 1, 'b': 2, 'c': 3}
print(dct){'a': 1, 'b': 2, 'c': 3}
{key: value}를 사용하여 딕셔너리를 직접 정의하는 방법{} 안에 여러 개의 key: value 쌍을 ,로 구분하여 나열함dict() 함수를 사용하여 딕셔너리를 생성하는 방법zip() 함수를 이용하여 여러 개의 리스트나 튜플을 병렬로 묶어 키-값 쌍의 형태로 구성할 수 있음enumerate() 함수를 이용하여 인덱스를 키로, 원소를 값으로 하여 쌍으로 묶어 딕셔너리를 생성할 수 있음{'a': 4, 'b': 5, 'c': 3}
{'x': 100, 'y': 200}
# 딕셔너리 생성5 : zip() 함수 사용
keys = ['name', 'age', 'city']
values = ['Alice', 28, 'Jeonju']
dct = dict(zip(keys, values))
print(dct){'name': 'Alice', 'age': 28, 'city': 'Jeonju'}
# 딕셔너리 생성6 : enumerate() 함수 사용
fruits = ['apple', 'banana', 'cherry']
dct = dict(enumerate(fruits))
print(dct){0: 'apple', 1: 'banana', 2: 'cherry'}
# 키를 이용한 값 접근
info = {'name': 'Alice', 'age': 28, 'city': 'Jeonju'}
print(info['name'])
print(info['age'])Alice
28
# 딕셔너리는 가변형 객체이므로 키를 이용한 수정이 가능함
info = {'name': 'Alice', 'age': 28, 'city': 'Jeonju'}
info['city'] = 'Iksan'
print(info){'name': 'Alice', 'age': 28, 'city': 'Iksan'}
# 새로운 키-값 쌍 추가
info = {'name': 'Alice', 'age': 28, 'city': 'Jeonju'}
info['email'] = 'alice123@gmail.com'
print(info){'name': 'Alice', 'age': 28, 'city': 'Jeonju', 'email': 'alice123@gmail.com'}
| 함수 | 설명 |
|---|---|
| keys() | 딕셔너리의 모든 키를 반환(dict_keys 객체) |
| values() | 딕셔너리의 모든 값을 반환(dict_values 객체) |
| items() | (키, 값) 쌍을 튜플 형태로 반환(dict_items 객체) |
| get() | 지정한 키의 값을 반환하며, 없으면 None 반환 |
| in 연산자 | 특정 키가 딕셔너리에 있다면 True, 없다면 False 반환 |
['name', 'age', 'city']
['Alice', 28, 'Jeonju']
[('name', 'Alice'), ('age', 28), ('city', 'Jeonju')]
# 키를 이용한 값 조회
info = {'name': 'Alice', 'age': 28, 'city': 'Jeonju'}
print(info.get('name'))
print(info.get('email'))Alice
None
# 특정 키 찾기
info = {'name': 'Alice', 'age': 28, 'city': 'Jeonju'}
print('age' in info)
print('email' in info)True
False
| 함수 | 설명 |
|---|---|
| update() | 다른 딕셔너리나 키워드 인수를 이용하여 원소를 추가 및 수정 |
| pop() | 특정 키의 값을 삭제하고 그 값을 반환하며, 키가 없으면 오류 발생 |
| popitem() | 마지막 (키, 값) 쌍을 삭제하고 반환 |
| del 키워드 | 특정 키의 원소를 삭제하며, 키가 없으면 오류 발생 |
| clear() | 딕셔너리의 모든 원소를 삭제 |
# 원소 추가 및 수정1
info = {'name': 'Alice', 'age': 28}
info.update({'age': 29, 'city': 'Jeonju'})
print(info){'name': 'Alice', 'age': 29, 'city': 'Jeonju'}
{'name': 'Alice', 'age': 29, 'city': 'Jeonju'}
# 특정 키의 값 삭제1
info = {'name': 'Alice', 'age': 28, 'city': 'Jeonju'}
age = info.pop('age')
print(info)
print(age){'name': 'Alice', 'city': 'Jeonju'}
28
# 마지막 (키, 값) 쌍 삭제
info = {'name': 'Alice', 'age': 28, 'city': 'Jeonju'}
last_item = info.popitem()
print(info)
print(last_item){'name': 'Alice', 'age': 28}
('city', 'Jeonju')
{'name': 'Alice', 'city': 'Jeonju'}
**를 사용하여 딕셔너리를 언패킹하면, 각 키-쌍이 함수의 키워드 인수로 전달됨# 키워드 가변 인수와 패킹, 언패킹
def print_info(**kwargs):
for key, value in kwargs.items(): # 전달된 값이 딕셔너리로 패킹됨
print(f"{key}: {value}")
info = {'name': 'Alice', 'age': 28, 'city': 'Jeonju'}
print_info(**info) # 딕셔너리를 언패킹하여 함수에 전달name: Alice
age: 28
city: Jeonju
{키식: 값식 for 변수 in 반복범위 if 조건식}
{'H': 1, 'e': 1, 'l': 2, 'o': 1}
# 두 리스트를 키와 값으로 합치기
keys = ['name', 'age', 'city']
values = ['Alice', 28, 'Jeonju']
info = {k: v for k, v in zip(keys, values)}
print(info){'name': 'Alice', 'age': 28, 'city': 'Jeonju'}
# 리스트를 인덱스와 함께 딕셔너리로 변환
fruits = ['apple', 'banana', 'cherry']
dct = {i: fruit for i, fruit in enumerate(fruits)}
print(dct){0: 'apple', 1: 'banana', 2: 'cherry'}