새소식

반응형
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
반응형
Contents

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

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