본문 바로가기
Python/Do it! 점프 투 파이썬

[Do it! 파이썬] 2-4. 딕셔너리

by Couldi 2023. 9. 15.
반응형

23. 9. 15.

- Could -

 

이 글은 막연히 python을 공부해야하나 라는 불안감으로 python으로 프로그래밍을 입문하는 사람들을 위한 글입니다.
python을 시작하는 많은 분들이 보는 '점프 투 파이썬' 책을 중심으로 '필자의 주관'이 잔뜩 담긴 설명을 추가하여, 파이썬 공부에 흥미를 붙이고 책 완주 후의 계획을 수립할 수 있도록 쓰여졌습니다.
'점프 투 파이썬'은 wikidoc(https://wikidocs.net/book/1)으로 무료로도 확인 가능합니다.
1. 딕셔너리와 딕셔너리 생성
2. 딕셔너리 데이터 추가 및 수정
3. 딕셔너리에서 데이터 접근 및 삭제
4. 딕셔너리의 주요 메서드와 연산
5. 딕셔너리의 순서
6. 중첩 딕셔너리 (Nested Dictionary)
8. 주의할 점

1.  딕셔너리와 딕셔너리 생성

파이썬에서 딕셔너리(dictionary)는 키(key)와 값(value)의 쌍으로 데이터를 저장하는 자료구조다.

이 쌍들은 중괄호 {} 로 둘러싸여 있으며 콜론 : 으로 키와 값이 연결되어 있다. 아래와 같은 형태로 딕셔너리를 생성한다.

empty_dict = {}
# 또는
empty_dict = dict()

person = {'name': 'John', 'age': 30, 'city': 'New York'}


2. 딕셔너리에 데이터 추가 및 수정

# 키-값 쌍 추가
person['email'] = 'john@example.com'

# 키-값 쌍 수정
person['age'] = 31


3. 딕셔너리에서 데이터 접근 및 삭제

딕셔너리의 데이터를 사용하기 위한 여러가지 방법이 있고, 보통 아래와 같은 방법들을 사용한다.

# 특정 키를 사용한 접근
print(person['name'])  # 'John'

# get()메서드를 사용한 값 접근
city = person.get('city', 'Unknown')
print(city)  # 'New York'

# 딕셔너리의 모든 키와 값 접근
for key, value in person.items():
    print(key, ':', value)

 

이외에도 keys(), values() 등의 메서드를 사용하여 딕셔너리의 모든 키, 값, 또는 키-값 쌍을 순회하는 방법도 있다.

 

데이터를 삭제하는 방법도 여러가지가 있지만 보통 아래와 같은 방법 들이 있다.

# 특정 키를 사용한 값 삭제
del person['city']

# pop() 메서드를 사용한 값 삭제
email = person.pop('email')

# 모든 키-값 쌍 삭제
person.clear()


4. 딕셔너리의 주요 메서드와 연산

딕셔너리를 사용하면서 알아두어야할 메서드 들은 다음과 같다.

# keys() 메서드 : 모든 키를 반환
values = person.values()

# values() 메서드 : 모든 값을 반환
values = person.values()


# items() 메서드 : 모든 키-값 쌍을 반환
items = person.items()

# len() 함수 : 딕셔너리의 길이 반환
length = len(person)

# in 연산자 : 특정 키의 존재 확인
if 'name' in person:
    print('Name is present in the dictionary.')


6. 딕셔너리의 순서

파이썬 3.7 이전 버전에서는 딕셔너리의 순서가 유지되지 않았다.

하지만 3.7부터는 순서가 보존되므로 삽입 순서대로 데이터에 접근할 수 있다.

 

7. 중첩 딕셔너리

딕셔너리 안에 딕셔너리 생성하거나 리스트를 집어넣는 형태의 작업이 가능하다.

# 딕셔너리 안에 딕셔너리 생성
student = {
    'name': 'Alice',
    'grades': {'math': 90, 'history': 85, 'science': 92}
}

# 중첩 딕셔너리에서 데이터 접근 및 수정
math_grade = student['grades']['math']
student['grades']['history'] = 88


8. 주의할 점과 유용한 팁

  • 키의 유일성: 딕셔너리는 키가 유일해야 하므로 중복된 키를 사용하지 않아야 한다.
  • 딕셔너리의 가변성: 딕셔너리는 가변 자료구조이므로 주의해서 다루어야 한다.
반응형

댓글