새소식

반응형
Programming Language/Python

[Python] 파이썬 딕셔너리

  • -
반응형

파이썬 로고 이미지입니다.
Python


파이썬에서 딕셔너리는 키-값(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 = {}

빈 딕셔너리를 생성한다. {}는 빈 딕셔너리를 나타내며, 이 딕셔너리는 아무런 키-값 쌍도 포함하고 있지 않다.

 

2. student = {"이름":"Jack Snider", "나이":29, "학과":"컴퓨터 공학"}

키-값 쌍을 가진 딕셔너리를 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 키워드를 사용하여 특정 키-값 쌍을 삭제할 수 있다. 다음은 기존 딕셔너리에서 특정 키 "성별"에 해당하는 값을 삭제하는 예제이다.

student = {"이름": "Jack Snider", "나이": 29, "학과": "컴퓨터 공학", "성별": "남자"} # "성별" 키-값 삭제 del student["성별"] print(student) # 출력: {'이름': 'Jack Snider', '나이': 29, '학과': '컴퓨터 공학'}

 

2. pop

pop() 메서드를 사용하여 특정 키-값 쌍을 삭제하고 해당 값을 반환할 수 있다. 다음은 pop() 메서드를 사용하여 "나이" 키에 해당하는 값을 삭제하고 반환하는 예제이다.

student = {"이름": "Jack Snider", "나이": 29, "학과": "컴퓨터 공학", "성별": "남자"} # "나이" 키-값 삭제하고 삭제된 값 반환 deleted_age = student.pop("나이") print(student) # 출력: {'이름': '홍길동', '학과': '컴퓨터 공학', '성별': '남자'} print(f"삭제된 나이: {deleted_age}") # 출력: 삭제된 나이: 25

 

 

 

if "성별" in student: print("성별:", student["성별"]) else: print("성별 정보가 없습니다.")

in 키워드를 통해 studnet 딕셔너리에 "성별"키가 존재하는지 확인하는 예제이다. "성별"이 존재한다면 True, 없다면 False를 반환한다.

 

keys = student.keys() # 모든 키 가져오기 values = student.values() # 모든 값 가져오기

keys()values() 메서드로 해당 딕셔너리의 모든 키와 값을 가져올 수 있으며 반환값은 리스트 형태의 뷰 객체를 반환한다.

 

for key, value in student.items(): print(key, ":", value)

student 딕셔너리의 키-값 쌍을 반복하며 각각의 키와 값에 접근하고 출력하는 방법이다. 이 코드는 파이썬의 items() 메서드와 for 루프를 사용하여 딕셔너리를 반복하며 유용하게 사용된다.

728x90
반응형

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.