파이썬에서 딕셔너리는 키-값(key-value) 쌍을 저장하는 데이터 구조이다. 이것은 매우 유용하며, 특정 키를 사용하여 값을 검색하거나 업데이트하는 데 사용된다. 딕셔너리는 중괄호 {}를 사용하여 만들며, 각 키-값 쌍은 콜론(:)으로 구분된다. 딕셔너리 내부의 요소들은 쉼표(,)로 구분하며 딕셔너리의 키는 일반적으로 불변(immutable)한 데이터 유형인 문자열, 숫자 또는 튜플 등이 될 수 있고, 값은 어떤 데이터 유형이든 가능하다.
예제 코드 - 딕셔너리의 기본 구조
변수명 = {
키:값,
}
파이썬 딕셔너리 예제
예제 코드
# 빈 딕셔너리 생성
empty_dict = {}
# 키-값 쌍을 가진 딕셔너리 생성
student = {"이름": "Jack Snider", "나이": 29, "학과": "컴퓨터 공학"}
# 특정 키를 사용하여 값에 접근
print(student["이름"]) # 출력: Jack Snider
print(student["나이"]) # 출력: 29
# 새로운 키-값 쌍 추가
student["성별"] = "남자"
# 딕셔너리 내용 출력
print(student)
# 출력: {'이름': 'Jack Snider', '나이': 29, '학과': '컴퓨터 공학', '성별': '남자'}
Python에서 딕셔너리를 생성하고 다루는 예제이다. 아래에서 코드를 각각의 부분에 따라 설명한다.
1. empty_dict = {}
빈 딕셔너리를 생성한다. {}는 빈 딕셔너리를 나타내며, 이 딕셔너리는 아무런 키-값 쌍도 포함하고 있지 않다.
키-값 쌍을 가진 딕셔너리를 student를 생성한다. 이 딕셔너리는 세 개의 키-값 쌍을 가지고 있으며, 키는 "이름", "나이"."학과"이고 각각의 값은 "Jack Snider",29, "컴퓨터 공학"이다.
3. print(student ["이름"]) 및 print(student ["나이"])
딕셔너리에서 특정 키를 사용하여 값을 가져오는 예제이다. "이름" 키에 해당하는 값을 출력하고, "나이" 키에 해당하는 값을 출력한다.
4. student ["성별"] = "남자"
딕셔너리에 새로운 키-값 쌍을 추가한다. "성별" 키에 해당하는 값으로 "남자"를 설정한다.
5. print(student)
딕셔너리 student의 내용을 출력한다. 이로써 딕셔너리에는 네 개의 키-값 쌍이 포함되어 있으며, 딕셔너리 내용이 출력된다.
딕셔너리 조작
다음은 딕셔너리의 키-값 추가, 가져오기, 삭제, 존재 여부 확인에 대한 방법들을 살펴보자.
키-값 추가
student["나이"] = 30 # 나이 수정
student["전화번호"] = "010-1234-5678" # 새로운 키-값 쌍 추가
이미 생성한 딕셔너리에 새로 키를 생성하고 값을 저장하고 싶으면 위와 같이 변수명[새로 등록한 키] = 값과 같은 형태로 선언하면 된다.
키-값 가져오기
student["이름"]
위의 예제처럼 일반적으로 딕셔너리명["키"] 형태로 가져올 수 있다. 필자도 딕셔너리에서 값을 가져올 때 위와 같은 형태로 많이 가져오곤 했지만 이 같은 형태는 만약에 존재하지 않는 키를 가져오려고 할 때 KeyError를 발생시킨다. 그래서 예외를 처리하는 코드를 따로 작성해줘야 한다.
student.get("이름")
하지만 위와 같이 딕셔너리명. get("키")와 같은 형태로 사용하면 존재하지 않는 키를 입력했을 경우 "None"을 반환하게 된다.
student.get("이름","Jack Snider")
두 번째 파라미터로 "Jack Snider"를 넣는다면 키가 존재하지 않을 때 default 값으로 "None" 대신 "Jack Snider"를 반환하게 된다.
키-값 삭제
딕셔너리에서 키-값을 삭제하는 방법은 크게 del과 pop을 사용하는 2가지 방법이 있다. 각 방법에 대해 살펴보자.
1. del
del 키워드를 사용하여 특정 키-값 쌍을 삭제할 수 있다. 다음은 기존 딕셔너리에서 특정 키 "성별"에 해당하는 값을 삭제하는 예제이다.