PYTHON/파이썬 기초
[PYTHON] 딕셔너리
G허니
2024. 2. 25. 21:10
딕셔너리는 키(Key)와 값(Value)의 쌍으로 이루어진 자료형입니다. 딕셔너리는 중괄호({ })를 사용하여 선언하며, {Key1: Value1, Key2: Value2, Key3: Value3}의 형태를 가집니다. 딕셔너리는 순서의 개념이 없어서 키를 사용하여 값을 확인합니다.
딕셔너리 만들기
# 딕셔너리 생성
word = {'apple': '사과', 'banana': ['바나나', '빠나나'], 'cherry': '체리'}
# 요소 확인
print(word) # {'apple': '사과', 'banana': ['바나나', '빠나나'], 'cherry': '체리'}
print(word['apple']) # '사과'
print(word['cherry']) # '체리'
print(word['banana'][0]) # '바나나'
print(word['banana'][1]) # '빠나나'
딕셔너리로 자료형 변환
# 리스트 생성
students = [['Tom', 100], ['Jerry', 90], ['Spike', 80], ['Tyke', 95]]
# 딕셔너리로 변환
student_dic = dict(students)
# 확인
print(student_dic) # {'Tom': 100, 'Jerry': 90, 'Spike': 80, 'Tyke': 95}
딕셔너리 조회
# 딕셔너리 생성
member = {'name': 'Tom',
'hobby': ['reading', 'traveling', 'walking']}
# 이름 조회
print(member['name']) # 'Tom'
# 취미 조회
print(member['hobby']) # ['reading', 'traveling', 'walking']
# 데이터 존재 여부 확인
print('name' in member) # True
print('Tom' in member) # False
print('reading' in member['hobby']) # True
딕셔너리는 키와 값의 쌍으로 이루어진 데이터를 효율적으로 관리할 수 있습니다. 딕셔너리를 잘 활용하면 데이터를 보다 쉽게 관리하고 검색할 수 있습니다.
딕셔너리 변경, 추가와 삭제
딕셔너리의 요소를 변경하거나 추가하려면, 키를 이용하여 값을 지정하면 됩니다. 딕셔너리의 요소를 삭제하려면 del 문을 사용하면 됩니다.
# 딕셔너리 생성
person = {'name': 'Tom', 'age': 20}
# 요소 변경
person['age'] = 25
# 요소 추가
person['hobby'] = ['reading', 'traveling']
# 요소 삭제
# 'age' 키-값 쌍 제거
del person['age']
# 'age' 키-값 쌍 제거하고 값 반환
age = person.pop('age')
# 임의의 키-값 쌍 제거하고 튜플로 반환
item = person.popitem()
# 확인
print(person) # {'name': 'Tom', 'hobby': ['reading', 'traveling']}
딕셔너리 관련 메서드
딕셔너리는 다양한 메서드를 제공합니다. 이 중 몇 가지를 살펴보겠습니다
# 딕셔너리 생성
person = {'name': 'Tom', 'hobby': ['reading', 'traveling']}
# 키 확인
print(person.keys()) # dict_keys(['name', 'hobby'])
# 값 확인
print(person.values()) # dict_values(['Tom', ['reading', 'traveling']])
# 키, 값 쌍 확인
print(person.items()) # dict_items([('name', 'Tom'), ('hobby', ['reading', 'traveling'])])
person.clear() # 모든요소삭제
찾기(없을 때 대신할 값 지정)
딕셔너리에서 get() 메서드는 주어진 키를 사용하여 값을 찾아냅니다. 만약 키가 딕셔너리에 없다면, get() 메서드는 지정된 기본값을 반환합니다.
# 딕셔너리 생성
person = {'name': 'Tom', 'hobby': ['reading', 'traveling']}
# 'name' 키로 값 찾기
print(person.get('name')) # 'Tom'
# 'age' 키로 값 찾기, 없으면 'not found' 반환
print(person.get('age', 'not found')) # 'not found'