이 자습서에서는 관련 정보를 구성할 수 있는 Python 사전에 대해 배웁니다.
1. Python Dictionary type 소개
Python 사전은 각 키가 값과 연결된 키-값 쌍의 모음입니다.
키-값 쌍의 값은 숫자, 문자열, 목록, 튜플 또는 다른 사전일 수 있습니다. 실제로 Python에서 유효한 유형의 값을 키-값 쌍의 값으로 사용할 수 있습니다.
키-값 쌍의 키는 변경할 수 없어야 합니다. 즉, 키(예: 숫자, 문자열, 튜플 등)는 변경할 수 없습니다.
Python은 중괄호 {}를 사용하여 사전을 정의합니다. 중괄호 안에 0개, 1개 또는 여러 개의 키-값 쌍을 배치할 수 있습니다.
다음 예제에서는 빈 사전을 정의합니다.
empty_dict = {}
일반적으로 루프(for 루프 또는 while 루프) 전에 빈 사전을 정의합니다. 그리고 루프 내에서 사전에 키-값 쌍을 추가합니다.
사전 유형을 찾으려면 다음과 같이 type() 함수를 사용합니다.
empty_dict = {}
print(type(empty_dict))
Output:
<class 'dict'>
다음 예제에서는 일부 키-값 쌍이 있는 사전을 정의합니다.
person = {
'first_name': 'John',
'last_name': 'Doe',
'age': 25,
'favorite_colors': ['blue', 'green'],
'active': True
}
사람 사전에는 이름, 성, 나이, 좋아하는 색상 및 활성 상태를 나타내는 5개의 키-값 쌍이 있습니다.
2. Dictionary 값 사용하기
사전에서 키로 값에 액세스하려면 대괄호 표기법이나 get() 메서드를 사용할 수 있습니다.
1) 대괄호 표기법 사용
키와 연결된 값에 액세스하려면 대괄호 안에 키를 배치합니다.
dict[key]
다음은 개인 사전에서 키 first_name 및 last_name과 연관된 값을 가져오는 방법을 보여줍니다.
person = {
'first_name': 'John',
'last_name': 'Doe',
'age': 25,
'favorite_colors': ['blue', 'green'],
'active': True
}
print(person['first_name'])
print(person['last_name'])
Output:
John
Doe
2) get() 메서드 사용
존재하지 않는 키에 액세스하려고 하면 오류가 발생합니다. 예를 들어:
person = {
'first_name': 'John',
'last_name': 'Doe',
'age': 25,
'favorite_colors': ['blue', 'green'],
'active': True
}
ssn = person['ssn']
Error:
Traceback (most recent call last):
File "dictionary.py", line 15, in <module>
ssn = person['ssn']
KeyError: 'ssn'
이 오류를 방지하려면 사전의 get() 메서드를 사용할 수 있습니다.
person = {
'first_name': 'John',
'last_name': 'Doe',
'age': 25,
'favorite_colors': ['blue', 'green'],
'active': True
}
ssn = person.get('ssn')
print(ssn)
Output:
None
키가 존재하지 않으면 get() 메서드는 KeyError를 발생시키는 대신 None을 반환합니다. 없음은 값이 존재하지 않음을 의미합니다.
get() 메서드는 또한 키가 존재하지 않을 때 기본값을 두 번째 인수에 전달하여 기본값을 반환합니다.
다음 예는 ssn 키가 개인 사전에 존재하지 않는 경우 '000-00-0000' 문자열을 반환합니다.
person = {
'first_name': 'John',
'last_name': 'Doe',
'age': 25,
'favorite_colors': ['blue', 'green'],
'active': True
}
ssn = person.get('ssn', '000-00-0000')
print(ssn)
Output:
000-00-0000
3. Adding new key-value pairs: 새 키-값 쌍 추가
사전에는 동적 구조가 있으므로 언제든지 새 키-값 쌍을 추가할 수 있습니다.
새 키-값 쌍을 사전에 추가하려면 새 값과 함께 대괄호 안에 새 키가 오는 사전 이름을 지정합니다.
다음 예에서는 개인 사전에 새 키-값 쌍을 추가합니다.
person['gender'] = 'Famale'
4. Modifying values in a key-value pair: 키-값 쌍의 값 수정
키와 연결된 값을 수정하려면 대괄호 안에 키가 있는 사전 이름과 키와 연결된 새 값을 지정합니다.
dict[key] = new_value
다음 예는 사람 사전의 연령과 연관된 값을 수정합니다.
person = {
'first_name': 'John',
'last_name': 'Doe',
'age': 25,
'favorite_colors': ['blue', 'green'],
'active': True
}
person['age'] = 26
print(person)
Output:
{'first_name': 'John', 'last_name': 'Doe', 'age': 26, 'favorite_colors': ['blue', 'green'], 'active': True}
5. Removing key-value pairs: 키-값 쌍 제거
키로 키-값 쌍을 제거하려면 del 문을 사용합니다.
del dict[key]
이 구문에서는 제거하려는 사전 이름과 키를 지정합니다.
다음 예는 사람 사전에서 '활성' 키를 제거합니다.
person = {
'first_name': 'John',
'last_name': 'Doe',
'age': 25,
'favorite_colors': ['blue', 'green'],
'active': True
}
del person['active']
print(person)
Output:
{'first_name': 'John', 'last_name': 'Doe', 'age': 25, 'favorite_colors': ['blue', 'green']}
6. Looping through a dictionary: 사전을 통한 반복
사전을 검사하기 위해 for 루프를 사용하여 키-값 쌍 또는 키 또는 값을 반복할 수 있습니다.
Python 3.7부터 사전을 반복하면 키-값 쌍을 삽입한 순서대로 가져옵니다.
1) 사전의 모든 키-값 쌍 반복
Python 사전은 키-값 쌍 목록을 목록의 튜플로 포함하는 객체를 반환하는 items()라는 메서드를 제공합니다.
For example:
person = {
'first_name': 'John',
'last_name': 'Doe',
'age': 25,
'favorite_colors': ['blue', 'green'],
'active': True
}
print(person.items())
Output:
dict_items([('first_name', 'John'), ('last_name', 'Doe'), ('age', 25), ('favorite_colors', ['blue', 'green']), ('active', True)])
사전의 모든 키-값 쌍을 반복하려면 두 개의 변수 키와 값이 있는 for 루프를 사용하여 목록의 각 튜플을 압축 해제합니다.
person = {
'first_name': 'John',
'last_name': 'Doe',
'age': 25,
'favorite_colors': ['blue', 'green'],
'active': True
}
for key, value in person.items():
print(f"{key}: {value}")
Output:
first_name: John
last_name: Doe
age: 25
favorite_colors: ['blue', 'green']
active: True
for 루프에서 모든 변수 이름을 사용할 수 있습니다. 키와 값일 필요는 없습니다.
2) 사전의 모든 키를 통해 반복
때로는 사전의 모든 키를 반복하고 싶을 수도 있습니다. 이 경우 keys() 메서드와 함께 for 루프를 사용할 수 있습니다.
keys() 메서드는 사전의 키 목록을 포함하는 객체를 반환합니다.
For example:
person = {
'first_name': 'John',
'last_name': 'Doe',
'age': 25,
'favorite_colors': ['blue', 'green'],
'active': True
}
for key in person.keys():
print(key)
Output:
first_name
last_name
age
favorite_colors
active
실제로 모든 키를 통해 반복하는 것은 사전을 통해 반복할 때의 기본 동작입니다. 따라서 keys() 메서드를 사용할 필요가 없습니다.
다음 코드는 위의 예와 동일한 출력을 반환합니다.
person = {
'first_name': 'John',
'last_name': 'Doe',
'age': 25,
'favorite_colors': ['blue', 'green'],
'active': True
}
for key in person:
print(key)
3) 사전의 모든 값을 반복
values() 메서드는 키가 없는 값 목록을 반환합니다.
사전의 모든 값을 반복하려면 values() 메서드와 함께 for 루프를 사용합니다.
person = {
'first_name': 'John',
'last_name': 'Doe',
'age': 25,
'favorite_colors': ['blue', 'green'],
'active': True
}
for value in person.values():
print(value)
Output:
John
Doe
25
['blue', 'green']
True
Summary
- Python 사전은 각 키에 연관된 값이 있는 키-값 쌍의 모음입니다.
- 키로 값에 액세스하려면 대괄호 또는 get() 메서드를 사용하십시오.
- del 문을 사용하여 사전에서 키별로 키-값 쌍을 제거합니다.
- for 루프를 사용하여 사전의 키, 값 및 키-값 쌍을 반복합니다.
refreance:https://www.pythontutorial.net/python-basics/python-dictionary/
'Programing > Python' 카테고리의 다른 글
Python Set: 집합 자료형 사용방법 (0) | 2023.03.10 |
---|---|
Python Dictionary Comprehension 사용 방법 (0) | 2023.03.10 |
Python List Comprehensions: 파이썬 List 이해하기 (0) | 2023.03.09 |
Python Reduce() 사용 방법? (0) | 2023.03.08 |
Python에서 List 요소를 Filter(필터링) 하는 방법? (0) | 2023.03.08 |
댓글