반응형
Python의 딕셔너리(Dictionary)는 키-값 쌍을 저장하는 데이터 구조입니다. 키는 고유해야 하며, 값을 통해 데이터를 빠르게 검색할 수 있습니다. 딕셔너리는 중괄호 {}
를 사용하여 정의하며, 각 키-값 쌍은 콜론 :
으로 구분됩니다.
1. 딕셔너리의 특징
- 키-값 쌍: 딕셔너리는 키와 값의 쌍으로 데이터를 저장합니다.
- 변경 가능: 딕셔너리는 변경 가능한(mutable) 자료형입니다.
- 순서 없음: Python 3.7부터는 딕셔너리가 삽입 순서를 유지하지만, 그 이전 버전에서는 순서가 보장되지 않았습니다.
- 키는 고유: 딕셔너리의 키는 고유해야 하며, 불변(immutable) 자료형만 사용할 수 있습니다. 예를 들어, 문자열, 숫자, 튜플 등이 키로 사용될 수 있습니다.
2. 딕셔너리 생성
# 빈 딕셔너리 생성
empty_dict = {}
# 초기값을 가지는 딕셔너리 생성
person = {
"name": "Alice",
"age": 30,
"city": "New York"
}
3. 딕셔너리 접근
person = {
"name": "Alice",
"age": 30,
"city": "New York"
}
# 키를 사용하여 값에 접근
print(person["name"]) # 출력: Alice
print(person["age"]) # 출력: 30
4. 딕셔너리 수정
person = {
"name": "Alice",
"age": 30,
"city": "New York"
}
# 값 수정
person["age"] = 31
# 새로운 키-값 쌍 추가
person["email"] = "alice@example.com"
print(person)
# 출력: {'name': 'Alice', 'age': 31, 'city': 'New York', 'email': 'alice@example.com'}
5. 딕셔너리 삭제
person = {
"name": "Alice",
"age": 30,
"city": "New York"
}
# 특정 키-값 쌍 삭제
del person["age"]
# pop() 메서드 사용
city = person.pop("city")
# 모든 키-값 쌍 삭제
person.clear()
print(person) # 출력: {}
print(city) # 출력: New York
6. 딕셔너리 순회
person = {
"name": "Alice",
"age": 30,
"city": "New York"
}
# 키 순회
for key in person:
print(key)
# 값 순회
for value in person.values():
print(value)
# 키-값 쌍 순회
for key, value in person.items():
print(key, value)
7. 딕셔너리 메서드
keys()
, values()
, items()
person = {
"name": "Alice",
"age": 30,
"city": "New York"
}
# 모든 키 반환
print(person.keys()) # 출력: dict_keys(['name', 'age', 'city'])
# 모든 값 반환
print(person.values()) # 출력: dict_values(['Alice', 30, 'New York'])
# 모든 키-값 쌍 반환
print(person.items()) # 출력: dict_items([('name', 'Alice'), ('age', 30), ('city', 'New York')])
get()
person = {
"name": "Alice",
"age": 30,
"city": "New York"
}
# 키가 존재하면 값을 반환, 그렇지 않으면 기본값 반환
print(person.get("name")) # 출력: Alice
print(person.get("email", "Not Provided")) # 출력: Not Provided
update()
person = {
"name": "Alice",
"age": 30,
"city": "New York"
}
# 다른 딕셔너리로 업데이트
person.update({"age": 31, "email": "alice@example.com"})
print(person)
# 출력: {'name': 'Alice', 'age': 31, 'city': 'New York', 'email': 'alice@example.com'}
8. 딕셔너리 컴프리헨션
딕셔너리 컴프리헨션을 사용하면 간결하고 효율적으로 딕셔너리를 생성할 수 있습니다.
# 키가 1부터 5까지이고 값이 키의 제곱인 딕셔너리 생성
squares = {x: x**2 for x in range(1, 6)}
print(squares)
# 출력: {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
9. 딕셔너리의 유용한 메서드 정리
keys()
: 딕셔너리의 모든 키를 반환합니다.values()
: 딕셔너리의 모든 값을 반환합니다.items()
: 딕셔너리의 모든 키-값 쌍을 반환합니다.get(key, default)
: 키가 존재하면 값을 반환하고, 그렇지 않으면 기본값을 반환합니다.pop(key, default)
: 키가 존재하면 키-값 쌍을 제거하고 값을 반환하며, 그렇지 않으면 기본값을 반환합니다.update(other_dict)
: 다른 딕셔너리의 키-값 쌍을 추가하거나 기존 값을 업데이트합니다.clear()
: 딕셔너리의 모든 키-값 쌍을 제거합니다.
이와 같이 Python의 딕셔너리는 강력하고 유연한 데이터 구조로, 키-값 쌍을 사용하여 데이터를 저장하고 빠르게 검색할 수 있습니다. 다양한 내장 메서드를 통해 효율적으로 딕셔너리를 조작할 수 있습니다.
반응형
'언어 > Python' 카테고리의 다른 글
[ Python ] 전역변수와 지역변수 사용하기 (0) | 2024.06.06 |
---|---|
[ Python ] 세트 사용하기 (0) | 2024.06.03 |
[ Python ] 리스트 (List)와 튜플 (Tuple)의 차이 (2) | 2024.06.03 |
[ Python ] Tuple(튜플) 사용하기 (0) | 2024.06.03 |
[ Python ] for문 사용하기 (1) | 2024.06.03 |