목차
파이썬 딕셔너리 함수
먼저 파이썬 딕셔너리 함수 대해서 설명드리도록 하겠습니다.
딕셔너리는 파이썬의 핵심 데이터 타입 중 하나로, 키-값 쌍을 저장하는 데 사용됩니다.
딕셔너리는 순서가 없는 컬렉션이며, 각 항목은 고유한 키에 의해 식별됩니다.
이 구조는 실제 생활의 많은 상황, 예를 들어 전화번호부나 어휘 사전에서 볼 수 있는 구조와 유사하다고 생각하시면 됩니다.
일단 딕셔너리는 중괄호 `{}`를 사용하여 생성되며, 키와 값은 콜론 `:`으로 구분됩니다. 여러 항목은 쉼표 `,`로 구분됩니다.
# 딕셔너리 예제
person = {
'name': '김태형',
'age': 27,
'profession': '가수'
}
이 예에서 ‘name’, ‘age’, ‘profession’은 딕셔너리의 키이며, ‘김태형’, 27, ‘가수’는 각 키에 대한 값입니다.
사실 리스트도 있지만 딕셔너리를 사용하는 주요 장점 중 하나는 데이터 접근 속도입니다.
왜냐하면 다른 함수에 비해 큰 데이터 집합에서도 키를 사용하여 값을 빠르게 검색할 수 있기 때문입니다.
사실 이렇게 빠른 검색 능력의 배경으로는 딕셔너리가 내부적으로 해시 테이블을 사용하기 때문입니다.
따라서 딕셔너리는 검색 작업에 최적화된 데이터 구조로 볼 수 있고 활용이 가능합니다.
하지만 단점 아닌 단점으로는 다른 함수에 비해 순서에 대한 내용을 적용을 할 수가 없습니다.
약간은 순서가 무작위로 되어 있는 집합 구조라고 이해하시면 될 거 같습니다.
그래도 개인적으로 키값이 있으니 해당 순서를 다른 코드로 구현이 가능하다고 판단이 됩니다.
이 부분은 좀 더 생각해보고 추가 포스팅 하도록 하겠습니다.
딕셔너리 생성하기
딕셔너리는 중괄호 `{}`를 사용해 생성합니다. 키와 값의 쌍은 `키: 값` 형태로 표현됩니다.
예를 들어, 학생들의 이름과 성적을 저장하는 딕셔너리를 생성하려면 아래와 같이 작성할 수 있습니다.
students = {
'지민': 95,
'태형': 89,
'호석': 92
}
위에 작성한 코드를 구현하게 되면 “students” 라는 딕셔너리 변수에 세 명의 학생 이름과 그들의 성적이 저장되게 됩니다.
기본적인 함수 사용법
딕셔너리는 다양한 내장 함수를 통해 데이터를 관리하고 검색할 수 있습니다.
이 섹션에서는 딕셔너리의 기본적인 함수들에 대해 알아보겠습니다.
1) 딕셔너리 값 가져오기: get()
get() 함수는 주어진 키에 대한 값을 반환합니다. 키가 딕셔너리에 없으면 기본값을 반환할 수도 있습니다.
dict_example = {"name": "김영희", "age": 30}
print(dict_example.get("name")) # '김영희'
print(dict_example.get("address", "서울")) # '서울'
2) 딕셔너리에 항목 추가/수정: update()
update() 함수를 사용하여 딕셔너리에 새로운 항목을 추가하거나 기존 항목을 수정할 수 있습니다.
dict_example = {"name": "김영희", "age": 30}
dict_example.update({"address": "서울"})
print(dict_example) # {'name': '김영희', 'age': 30, 'address': '서울'}
3) 딕셔너리 항목 삭제: pop(), popitem()
pop() 함수는 주어진 키의 항목을 삭제하고 그 값을 반환합니다. popitem()은 딕셔너리의 마지막 항목을 삭제하고 그 키와 값을 튜플로 반환합니다.
dict_example = {"name": "김영희", "age": 30, "address": "서울"}
dict_example.pop("age")
print(dict_example) # {'name': '김영희', 'address': '서울'}
item = dict_example.popitem()
print(item) # ('address', '서울')
4) 모든 항목 삭제: clear()
clear() 함수는 딕셔너리의 모든 항목을 삭제합니다.
dict_example = {"name": "김영희", "age": 30}
dict_example.clear()
print(dict_example) # {}
5) 키와 값의 리스트 가져오기: keys(), values()
keys() 함수는 딕셔너리의 모든 키를 리스트로 반환하며, values() 함수는 모든 값을 리스트로 반환합니다.
dict_example = {"name": "김영희", "age": 30}
print(dict_example.keys()) # dict_keys(['name', 'age'])
print(dict_example.values()) # dict_values(['김영희', 30])
이 외에도 딕셔너리는 많은 내장 함수를 제공하므로, 파이썬 공식 문서에서 더 자세한 내용을 확인할 수 있습니다.
딕셔너리 항목 접근하기
딕셔너리의 항목에 접근하기 위해서는 해당 항목의 키를 이용합니다.
score = students['지민']
print(score) # 출력: 95
존재하지 않는 키로 접근하려고 하면 KeyError가 발생합니다. 이를 방지하기 위해서는 `get` 메서드를 사용할 수 있습니다.
score = students.get('윤기', '없음')
print(score) # 출력: 없음
딕셔너리 관련 메서드들
위에서 설명드린 기본적인 사용법에 이어 딕셔너리에는 데이터를 처리하기 위한 다양한 메서드들에 대해서 추가적으로 예제를 통해서 설명 드리도록 하겠습니다.
1) keys(): 딕셔너리의 모든 키를 반환합니다.
all_keys = students.keys()
print(all_keys) # 출력: dict_keys(['지민', '태형', '호석'])
2) values(): 딕셔너리의 모든 값을 반환합니다.
all_values = students.values()
print(all_values) # 출력: dict_values([95, 89, 92])
딕셔너리 업데이트
딕셔너리의 항목을 수정하거나 새로운 항목을 추가하기 위해서는 다음과 같은 방법을 사용합니다
.
students['지민'] = 96 # '지민'의 점수를 96으로 수정
students['윤기'] = 88 # 새로운 항목 추가
딕셔너리 항목 삭제하기
딕셔너리의 항목을 삭제하려면 `del` 키워드나 `pop` 메서드를 사용할 수 있습니다.
del students['태형'] # '태형' 항목 삭제
score = students.pop('호석') # '호석' 항목 삭제 및 값 반환
print(score) # 출력: 92
고급 딕셔너리 메서드
파이썬의 딕셔너리는 위에서 설명 드린 기본 함수 외에도 여러 가지 고급 함수를 활용을 할 수 있습니다.
이들 메서드를 이용하면 더 효율적이고 세련된 코드를 작성할 수 있습니다.
1) 딕셔너리 뷰 객체: items()
items() 메서드는 딕셔너리의 모든 키-값 쌍을 튜플로 반환합니다. 이것은 반복문에서 딕셔너리의 항목들을 순회하는 데 유용합니다.
dict_example = {"name": "김영희", "age": 30}
for key, value in dict_example.items():
print(f"{key}: {value}")
2) 딕셔너리 병합: update()의 고급 활용
update() 메서드를 사용하여 두 개의 딕셔너리를 병합할 수 있습니다. 이미 키가 존재하면 그 키의 값이 업데이트됩니다.
dict1 = {"name": "김영희", "age": 30}
dict2 = {"age": 31, "address": "서울"}
dict1.update(dict2)
print(dict1) # {'name': '김영희', 'age': 31, 'address': '서울'}
3) 키 존재 유무 확인: setdefault()
setdefault() 메서드는 주어진 키가 딕셔너리에 존재하지 않을 경우 새로운 키-값 쌍을 추가합니다.
dict_example = {"name": "김영희", "age": 30}
dict_example.setdefault("address", "서울")
print(dict_example) # {'name': '김영희', 'age': 30, 'address': '서울'}
dict_example.setdefault("name", "박철수") # 'name' 키는 이미 존재하므로 값은 변경되지 않습니다.
print(dict_example) # {'name': '김영희', 'age': 30, 'address': '서울'}
4) 딕셔너리 복사: copy()
딕셔너리의 copy() 메서드는 딕셔너리의 얕은 복사본을 반환합니다.
원본 딕셔너리와 독립적인 새로운 딕셔너리를 만들고 싶을 때 사용합니다.
original = {"name": "김영희", "age": 30}
copied = original.copy()
copied["name"] = "박철수"
print(original) # {'name': '김영희', 'age': 30}
print(copied) # {'name': '박철수', 'age': 30}
결론
여기까지 작성하도록 하겠습니다.
지금까지 파이썬 딕셔너리 함수 활용 방법 예제 코드 대해서 포스팅을 작성하였습니다.
파이썬을 정말 활용하면 무궁무진한 프로그래밍 언어이기 때문에 꼭 공부하셔서 활용해 보시는 걸 추천드립니다.
감사합니다.









