반응형

목차

  1. 키-값 쌍이란?
  2. 딕셔너리(Dictionary)
  3. 자주 발생하는 실수 유형

키-값 쌍이란?

Python 딕셔너리에서 키와 값은 키-값 쌍을 형성하는 두 가지 주요 구성 요소입니다.

 

키(key)

  • 키는 딕셔너리에 저장된 해당 값을 참조하는 데 사용되는 고유 식별자입니다.
  • 키는 일반적으로 문자열이나 숫자이지만 튜플(불변 요소만 포함)과 같은 다른 불변 데이터 유형일 수도 있습니다.
  • 딕셔너리의 각 키는 고유해야 합니다. 기존 키에 새 값을 할당하면 이전 값이 대체됩니다.

 

값(value)

  • 값은 딕셔너리의 해당 키와 관련된 데이터입니다.
  • 값은 문자열, 숫자, 목록, 튜플 또는 기타 딕셔너리과 같은 모든 데이터 유형이 될 수 있습니다.
  • 값은 딕셔너리에서 중복될 수 있습니다. 여러 키가 동일한 값을 가질 수 있습니다.


다음은 키와 값이 있는 Python 딕셔너리의 예입니다.

person = {
    "name": "Alice",
    "age": 30,
    "city": "New York",
    "job": "Software Engineer"
}


이 예에서 키는 "name", "age", "city" 및 "job"이고 값은 "Alice", 30, "New York" 및 "Software Engineer"입니다.


딕셔너리(Dictionary)

Python 딕셔너리는 각 키가 고유해야 하는 키-값 쌍의 변경 가능하고 정렬되지 않은 모음입니다. 딕셔너리는 다른 프로그래밍 언어에서 연관 배열, 해시 맵 또는 해시 테이블이라고도 합니다. 이들은 Python에서 해시 테이블로 구현되어 키를 기반으로 요소에 대한 빠른 액세스, 삽입 및 삭제를 제공합니다.

 

Python 딕셔너리을 선언하려면 중괄호 {}를 사용하고 콜론을 사용하여 키-값 쌍을 구분합니다. 특정 키와 관련된 값에 액세스하려면 대괄호 []를 사용할 수 있습니다. 예를 들면 다음과 같습니다.예를 들면 다음과 같습니다.

# Declare a 딕셔너리
book = {
    "title": "The Catcher in the Rye",
    "author": "J.D. Salinger",
    "year": 1951,
    "genre": "Fiction"
}

# Accessing a value by key
print(book["title"])  # Output: The Catcher in the Rye

 

이 예에서 book 딕셔너리에는 "title", "author", "year" 및 "genre"라는 4개의 키-값 쌍이 있습니다. 키와 관련된 값에 액세스하려면 print() 명령문에 표시된 대로 대괄호 []와 키를 사용해야합니다.


딕셔너리에 대한 몇 가지 일반적인 작업은 다음과 같습니다.

1. 딕셔너리 생성

# 딕셔너리 생성
person = {
    "name": "John",
    "age": 30,
    "city": "New York"
}

# 키를 이용한 값 접근
print(person["name"])  # Output: John



2. 요소 추가 또는 업데이트

person["country"] = "USA"  # 새로운 키-값 쌍 추가
person["age"] = 31         # "age" 키에 연결된 값을 업데이트


3. 키-값 쌍 제거

del person["age"]  # "age" 키에 연결된 키-값 쌍 삭제


4. 딕셔너리에 키가 존재하는지 확인

 

if "name" in person:
    print("딕셔너리에 'name' 키가 존재합니다.")


5. 딕셔너리 반복

 

# 키를 이용한 반복(iterate)
for key in person:
    print(key)

# 값에 대한 반복(iterate)
for value in person.values():
    print(value)

# 키-값 쌍에 대한 반복(iterate)
for key, value in person.items():
    print(f"{key}: {value}")



6. 딕셔너리 이해
Comprehension을 나열하는 구문과 유사하지만 중괄호 {}를 사용하는 딕셔너리 이해를 사용하여 딕셔너리을 만들 수 있습니다.

 

squares = {x: x**2 for x in range(1, 6)}
print(squares)  # Output: {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}


딕셔너리는 Python의 강력하고 다양한 데이터 구조로, 키를 기반으로 데이터를 구성하고 액세스하는 효율적인 방법을 제공합니다.

 

7. 딕셔너리과 함께 get() 함수를 사용하는 예

# 딕셔너리 정의
student_grades = {
    "John": 85,
    "Sarah": 90,
    "Anna": 78,
    "Tom": 92
}

# get() 함수를 사용하여 키로 값을 가져옵니다.
johns_grade = student_grades.get("John")
print("John's grade:", johns_grade)  # 출력: John's grade: 85

# get() 함수를 사용하여 존재하지 않는 키의 경우 기본값을 설정합니다.
non_existent_key = "Michael"
michaels_grade = student_grades.get("Michael", "Not found")
print("Michael's grade:", michaels_grade)  # 출력: Michael's grade: Not found


이 예에서는 학생 이름을 키로, 각 성적을 값으로 포함하는 'student_grades'라는 딕셔너리을 정의합니다. 그런 다음 get() 함수를 사용하여 "John"과 "Michael"의 등급에 액세스합니다. "Michael"이 딕셔너리에 없기 때문에 get() 함수는 기본값 "찾을 수 없음"을 반환합니다.


자주 발생하는 실수 유형

다음은 Python 딕셔너리 코드를 작성할 때 발생하는 몇 가지 일반적인 실수와 이를 수정하는 방법입니다.


1. 변경 가능한 데이터 유형을 키로 사용

문제: 목록과 같은 변경 가능한 데이터 유형을 딕셔너리의 키로 사용하면 TypeError가 발생합니다.
해결 방법: 문자열, 숫자 또는 튜플(불변 요소 포함)과 같은 불변 데이터 유형을 키로 사용합니다.

# Incorrect
my_dict = {['a', 'b']: 1}

# Correct
my_dict = {('a', 'b'): 1}


2. 요소 액세스에 잘못된 구문 사용

문제: dict[key] 대신 dict.key와 같이 잘못된 구문을 사용하여 딕셔너리의 요소에 액세스하려고 합니다.
해결 방법: 올바른 구문 dict[key]를 사용하여 딕셔너리의 요소에 액세스해야합니다.

# Incorrect
value = my_dict.key

# Correct
value = my_dict['key']


3. 존재하지 않는 키에 액세스

문제: 딕셔너리에 없는 키에 액세스하려고 하면 KeyError가 발생합니다.
해결 방법: 키를 찾을 수 없는 경우 기본값을 반환하는 get() 메서드를 사용하거나 in과 함께 조건문을 사용하여 키의 존재를 확인합니다.

# Incorrect
value = my_dict['non_existent_key']

# Correct
value = my_dict.get('non_existent_key', 'default_value')

# or
if 'non_existent_key' in my_dict:
    value = my_dict['non_existent_key']
else:
    value = 'default_value'


4. 잘못된 요소 추가 또는 업데이트

문제: dict[key] = value 대신 dict.key = value와 같이 잘못된 구문을 사용하여 딕셔너리에 요소를 추가하거나 업데이트하려고 합니다.
해결 방법: 올바른 구문인 dict[key] = value를 사용하여 딕셔너리에 요소를 추가하거나 업데이트합니다.

# Incorrect
my_dict.key = 'value'

# Correct
my_dict['key'] = 'value'


5. 적절한 들여쓰기를 사용하지 않음

문제: 코드 들여쓰기가 잘못되어 구문 오류 또는 예기치 않은 동작이 발생할 수 있습니다.
해결 방법: 각 들여쓰기 수준에 대해 4개의 공백 또는 단일 탭을 사용하여 Python의 적절한 들여쓰기 규칙을 따라야합니다.


이러한 일반적인 실수와 해결 방법을 알고 있으면 오류를 방지하고 Python에서 보다 효율적이고 정확한 딕셔너리 코드를 작성할 수 있습니다.

반응형