1. 딕셔너리
딕셔너리(dictionary)는 키(key)와 값(value)이 한 쌍으로 이루어진 데이터 구조
딕셔너리는 수정 가능(mutable)하고, 순서가 없으며 키의 중복을 허용하지 않습니다.
2. 딕셔너리의 특징
2.1 키의 유일성
딕셔너리 내에서 키는 유일해야 합니다.
같은 키가 중복으로 사용될 경우, 마지막에 할당된 값이 최종 값으로 저장됩니다.
2.2 변경 가능성
딕셔너리의 값은 변경할 수 있습니다.
하지만 키는 변경 불가능한(immutable) 데이터 타입이어야 합니다.
2.3 다양한 데이터 타입
딕셔너리의 키와 값에는 다양한 데이터 타입이 사용될 수 있다.
3. 딕셔너리 생성 및 접근 방법
3.1 생성
{ } 를 사용하거나, dict( ) 함수를 사용하여 생성할 수 있다.
my_dict = {
'name': 'John',
'age': 30
}
my_dict2 = dict(name='John', age=30)
3.2 접근
대괄호 [ ] 에 키를 입력하여 값에 접근할 수 있다.
my_dict = {
'name': 'John',
'age': 30
}
print(my_dict['name']) # John
3.3 추가 및 수정
새로운 키를 사용하여 값을 할당하거나, 기존의 키에 새로운 값을 할당하여 값을 추가하거나 수정할 수 있다.
my_dict = {
'name': 'John',
'age': 30
}
my_dict['gender'] = 'male' # 추가
my_dict['name'] = 'Doe' # 수정
3.4 삭제
del 키워드나 pop( ) 메서드를 사용하여 항목을 삭제할 수 있다.
my_dict = {
'gender' : 'male',
'name': 'John',
'age': 30
}
del my_dict['gender']
my_dict.pop('age')
4. 다른 메서드 , 연산자
4.1 get( ) 메서드
키에 해당하는 값을 돌려준다.
키가 딕셔너리에 없으면 default를 반환한다.
d = {
'a': 1,
'b': 2
}
print(d.get('a')) # 1
print(d.get('c', 3)) # 3
4.2 items( ) 메서드
딕셔너리의 모든 (키, 값) 쌍을 뷰 객체로 돌려준다.
d = {
'a': 1,
'b': 2
}
items = d.items()
print(items) # dict_items([('a', 1), ('b', 2)])
4.3 keys( ) 메서드
딕셔너리의 모든 키를 뷰 객체로 돌려준다.
d = {
'a': 1,
'b': 2
}
keys = d.keys()
print(keys) # dict_keys(['a', 'b'])
4.4 values( ) 메서드
딕셔너리의 모든 값을 뷰 객체로 돌려준다.
d = {
'a': 1,
'b': 2
}
values = d.values()
print(values) # dict_values([1, 2])
4.5 update( ) 메서드
다른 딕셔너리의 키/값 쌍으로 딕셔너리를 업데이트 한다.
d = {
'a': 1,
'b': 2
}
other = {
'c' : 3,
'd' : 4,
'e' : 5,
'f' : 6,
'g' : 7,
'h' : 8
}
d.update(other)
print(d) # {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5, 'f': 6, 'g': 7, 'h': 8}
4.6 popitem( ) 메서드
마지막으로 추가된 항목(키/값)을 제거하고 반환한다.
d = {
'a': 1,
'b': 2
}
print(d.popitem()) # ('b', 2)
print(d) # {'a': 1}
4.7 clear( ) 메서드
딕셔너리의 모든 항목을 제거한다.
d = {
'a': 1,
'b': 2
}
d.clear()
print(d) # {}
4.8 setdefault( ) 메서드
딕셔너리에 해당 키가 존재하면 반환하고
존재하지 않으면 새로운 키와 값을 추가하고 그 기본값을 반환한다.
value = dictionary.setdefault(key, default=None)
key : 딕셔너리에 접근하거나 추가하는 키
default : 키가 딕셔너리에 존재하지 않으떄 설정할 기본값이다. 설정되지 않으면 None 값이다.
# 딕셔너리 생성
my_dict = {'apple': 'red', 'banana': 'yellow'}
# 'apple' 키는 존재하므로 해당 값 반환
color = my_dict.setdefault('apple', 'green')
print(color) # 출력: red
# 'orange' 키는 존재하지 않으므로 기본값 'orange'를 추가하고 반환
color = my_dict.setdefault('orange', 'orange')
print(color) # 출력: orange
print(my_dict)
# 출력: {'apple': 'red', 'banana': 'yellow', 'orange': 'orange'}
4.9 in 연산자
딕셔너리에 특정 키가 있는지 확인할 때 사용된다.
반환값은 불리언이다.
my_dict = {'name': 'John', 'age': 30, 'city': 'New York'}
# 'name'이라는 키가 my_dict에 있는지 확인
if 'name' in my_dict:
print("'name'이 딕셔너리에 있습니다.")
else:
print("'name'이 딕셔너리에 없습니다.")
# 'country'라는 키가 my_dict에 있는지 확인
if 'country' in my_dict:
print("'country'가 딕셔너리에 있습니다.")
else:
print("'country'가 딕셔너리에 없습니다.")
'Language > Python' 카테고리의 다른 글
[Python] 패킹과 언패킹 (0) | 2024.04.24 |
---|---|
[Python] 집합 (0) | 2024.04.24 |
[Python] 튜플 (0) | 2024.04.23 |
[Python] 리스트 (0) | 2024.04.23 |
[Python] 반복문 (0) | 2024.04.23 |