파이썬 딕셔너리 함수 활용 방법 예제 코드

 안녕하세요, 이번 포스팅은 파이썬 딕셔너리 함수 활용 방법 예제 코드 내용을 기반으로 작성하도록 하겠습니다. 
 파이썬을 하시다보면 키값과 Value값을 분리해서 사용하실 때가 있는 이때 활용 할 수 있는 함수가 바로 딕셔너리 함수입니다. 
 그럼 딕셔너리 함수에 대해서 아주 세세하게 정리하였으니 꼭 활용해보시는 걸 추천 드립니다. 

파이썬 딕셔너리 함수

먼저 파이썬 딕셔너리 함수 대해서 설명드리도록 하겠습니다.

딕셔너리는 파이썬의 핵심 데이터 타입 중 하나로, 키-값 쌍을 저장하는 데 사용됩니다.

딕셔너리는 순서가 없는 컬렉션이며, 각 항목은 고유한 키에 의해 식별됩니다.

이 구조는 실제 생활의 많은 상황, 예를 들어 전화번호부나 어휘 사전에서 볼 수 있는 구조와 유사하다고 생각하시면 됩니다.

일단 딕셔너리는 중괄호 `{}`를 사용하여 생성되며, 키와 값은 콜론 `:`으로 구분됩니다. 여러 항목은 쉼표 `,`로 구분됩니다.

# 딕셔너리 예제
person = {
    'name': '김태형',
    'age': 27,
    'profession': '가수'
}

이 예에서 ‘name’, ‘age’, ‘profession’은 딕셔너리의 키이며, ‘김태형’, 27, ‘가수’는 각 키에 대한 값입니다.

사실 리스트도 있지만 딕셔너리를 사용하는 주요 장점 중 하나는 데이터 접근 속도입니다.

왜냐하면 다른 함수에 비해 큰 데이터 집합에서도 키를 사용하여 값을 빠르게 검색할 수 있기 때문입니다.

사실 이렇게 빠른 검색 능력의 배경으로는 딕셔너리가 내부적으로 해시 테이블을 사용하기 때문입니다.

 따라서 딕셔너리는 검색 작업에 최적화된 데이터 구조로 볼 수 있고 활용이 가능합니다. 

 하지만 단점 아닌 단점으로는 다른 함수에 비해 순서에 대한 내용을 적용을 할 수가 없습니다.

 약간은 순서가 무작위로 되어 있는 집합 구조라고 이해하시면 될 거 같습니다. 

그래도 개인적으로 키값이 있으니 해당 순서를 다른 코드로 구현이 가능하다고 판단이 됩니다. 

이 부분은 좀 더 생각해보고 추가 포스팅 하도록 하겠습니다. 

▶파이썬 정렬 sorted 함수 사용법 예제코드

딕셔너리 생성하기

딕셔너리는 중괄호 `{}`를 사용해 생성합니다. 키와 값의 쌍은 `키: 값` 형태로 표현됩니다.

예를 들어, 학생들의 이름과 성적을 저장하는 딕셔너리를 생성하려면 아래와 같이 작성할 수 있습니다.

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}

결론

 

여기까지 작성하도록 하겠습니다. 

지금까지 파이썬 딕셔너리 함수 활용 방법 예제 코드 대해서 포스팅을 작성하였습니다. 

 파이썬을 정말 활용하면 무궁무진한 프로그래밍 언어이기 때문에 꼭 공부하셔서 활용해 보시는 걸 추천드립니다. 

감사합니다. 

Leave a Comment