PYTHON - 특강노트 (2025-03-14)

2025. 3. 14. 18:52·Python

📚 Python Dictionary Tutorial

파이썬 딕셔너리(Dictionary)는 키(Key)와 값(Value)의 쌍으로 데이터를 저장하는 자료형입니다. 리스트는 인덱스를 기반으로 값을 저장하지만, 딕셔너리는 키를 사용해 데이터를 저장합니다.

  • ✅ 리스트: 인덱스로 값을 관리, 중복된 값 허용 가능
  • ✅ 딕셔너리: 키-값으로 관리, 키는 중복 불가, 값은 중복 가능

📖 1. 딕셔너리 기본 생성과 사용

# 딕셔너리 생성

# 예시 딕셔너리 생성
# 각 사람의 정보를 키와 값으로 저장합니다.
dict_oz = {
    "name": "이상인",
    "키": 178,
    "몸무게": 72,
    "나이": 39,
    "직업": "개발자"
}

# ✅ 값 추가하기
dict_oz["강아지_이름"] = "깜디"

# ✅ 값 변경하기
dict_oz["name"] = "상인"

# ✅ 값 삭제하기
del dict_oz["강아지_이름"]

# ✅ 값 출력하기
print(dict_oz["name"])  # "상인" 출력

# 삭제된 값은 오류 발생
# print(dict_oz["강아지_이름"])  # 오류 발생: KeyError

⚠️ KeyError 방지하기

dict.get() 메소드를 사용하면, 없는 키에 대해 오류 없이 None을 반환하거나 기본값을 설정할 수 있습니다.

value = dict_oz.get("강아지_이름", "존재하지 않는 값")
print("value에 들어있는 값은?", value)
# 출력: value에 들어있는 값은? 존재하지 않는 값

📖 2. 사용자 입력으로 딕셔너리 제어하기

key = input("찾고자 하는 키 값을 입력해주세요 : ")

# ✅ 키가 존재하는 경우 값 출력
if key in dict_oz:
    print(dict_oz[key])
else:
    # ✅ 키가 존재하지 않으면 새로운 값 추가
    dict_oz[key] = "깜지"
    print(dict_oz[key])

# ✅ 전체 딕셔너리 출력
print(dict_oz)

📖 3. 딕셔너리 반복문 활용

✅ 기본적인 반복문 (Key 기준)

for i in dict_oz:
    print(dict_oz[i])
  • i에는 키(Key) 값이 들어갑니다.
  • 값을 출력하려면 dict_oz[i] 형태로 접근합니다.

✅ 명확하게 Key 사용 명시

for key in dict_oz:
    print(dict_oz[key])

✅ .items()로 Key와 Value 함께 출력하기

for key, value in dict_oz.items():
    print(f"Key: {key}, Value: {value}")
  • .items() 메소드는 (키, 값) 쌍을 튜플로 반환합니다.
  • 각각 key, value로 받아서 사용합니다.

✅ .keys()로 Key만 출력하기

for key in dict_oz.keys():
    print(key)

✅ .values()로 Value만 출력하기

for value in dict_oz.values():
    print(value)

🚩 4. 딕셔너리 메소드 요약

메소드 설명

dict.get(key, default) 키가 존재하면 값을 반환, 없으면 default 반환
dict.items() (key, value) 쌍을 튜플로 반환
dict.keys() 키만 반환
dict.values() 값만 반환
dict.update({key: value}) 딕셔너리 업데이트
dict.pop(key, default) 키가 존재하면 값을 반환하고 삭제, 없으면 default 반환

✅ 이해도 체크리스트

  1. 딕셔너리에 값을 추가하고 변경하는 방법은?
    • 정답: dict["key"] = "value"
  2. dict.get() 메소드는 어떤 상황에서 유용할까요?
    • 정답: 키가 존재하지 않을 경우 오류를 피하고 기본값을 설정할 때 유용합니다.
  3. for key, value in dict.items()의 출력 결과는 어떻게 될까요?
    • 정답: 각 키와 값이 함께 출력됩니다.
  4. 딕셔너리에서 키가 존재하는지 확인하는 방법은?
    • 정답: if key in dict: 조건문으로 확인

🎯 Tip!

  • .get()을 사용하여 오류 없이 안전하게 값을 가져올 수 있습니다.
  • .items()를 사용해 키와 값을 동시에 쉽게 다룰 수 있습니다.
  • 딕셔너리는 속도와 효율성이 뛰어나므로 데이터 매핑에 적합한 자료구조입니다.

이렇게 정리된 내용을 바탕으로 파이썬 딕셔너리를 효율적으로 다뤄보세요! 🚀

'Python' 카테고리의 다른 글

PYTHON - 클래스 고급(Chapter 8-44. 생성자와 메소드)  (0) 2025.03.17
PYTHON - 클래스 고급 (Chapter 8-43. 객체와 클래스 선언하기)  (0) 2025.03.17
PYTHON - 예외처리와 모듈 (Chapter 7-41. 패키지)  (0) 2025.03.14
PYTHON - 예외처리와 모듈 (Chapter 7-40. 모듈 만들기)  (0) 2025.03.14
PYTHON - 예외처리와 모듈 (Chapter 7-39. 함수 데코레이터)  (0) 2025.03.14
'Python' 카테고리의 다른 글
  • PYTHON - 클래스 고급(Chapter 8-44. 생성자와 메소드)
  • PYTHON - 클래스 고급 (Chapter 8-43. 객체와 클래스 선언하기)
  • PYTHON - 예외처리와 모듈 (Chapter 7-41. 패키지)
  • PYTHON - 예외처리와 모듈 (Chapter 7-40. 모듈 만들기)
Chansman
Chansman
안녕하세요! 코딩을 시작한 지 얼마 되지 않은 초보 개발자 찬스맨입니다. 이 블로그는 제 학습 기록을 남기고, 다양한 코딩 실습을 통해 성장하는 과정을 공유하려고 합니다. 초보자의 눈높이에 맞춘 실습과 팁, 그리고 개발하면서 겪은 어려움과 해결 과정을 솔직하게 풀어내려 합니다. 함께 성장하는 개발자 커뮤니티가 되기를 바랍니다.
  • Chansman
    찬스맨의 프로그래밍 스토리
    Chansman
  • 전체
    오늘
    어제
    • 분류 전체보기 (797)
      • Python (32)
      • 프로젝트 (114)
      • 과제 (25)
      • Database (40)
      • 멘토링 (11)
      • 특강 (37)
      • 기술블로그 (41)
      • 기술블로그-Fastapi편 (33)
      • 기술블로그-Django편 (154)
      • 기술블로그-Flask편 (36)
      • AI 분석 (5)
      • HTML & CSS (31)
      • JavaScript (17)
      • AWS_Cloud (21)
      • 웹스크래핑과 데이터 수집 (14)
      • Flask (42)
      • Django (77)
      • Fastapi (16)
      • 연예 (14)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    college reunions
    newpoliticalparty
    americanlaw
    classaction
    btsjungkook
    livebroadcast
    smartphonedurability
    youngprofessionals
    btsdischarge
    btsreunion
    bts
    RM
    뷔
    trumpmuskclash
    chinanightlife
    chatgpterror
    urbantrends
    americaparty
    hotcoffeecase
    lawsuitculture
    self-growth
    remittance
    travel ban
    btscomeback
    homebartrend
    gpterror
    life reflection
    titaniumcase
    global politics
    basalcellcarcinoma
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Chansman
PYTHON - 특강노트 (2025-03-14)
상단으로

티스토리툴바