학습 목표

  • 딕셔너리(dictionary)의 구조와 활용법을 이해하고 데이터를 키-값 형태로 저장할 수 있다.
  • 집합(set)의 개념과 중복 제거, 수학적 집합 연산을 사용할 수 있다.
  • 딕셔너리와 집합을 활용한 기초 프로그램을 작성할 수 있다.

딕셔너리(Dictionary) 기초

7.1 딕셔너리란?

  • 키(key)와 값(value)을 쌍으로 저장하는 자료형
  • 중괄호 {} 사용, 각 쌍은 :로 연결
student = {"이름": "지민", "나이": 14, "학교": "푸른중학교"}

7.2 딕셔너리 접근 & 수정

print(student["이름"])  # 지민
student["나이"] = 15

실습 1: 나의 정보 딕셔너리 만들기

문제: 이름, 나이, 학교, 취미를 포함한 딕셔너리를 만들고 값을 출력해보세요.

모범답안:

me = {"이름": "수민", "나이": 13, "학교": "솔빛중", "취미": "그림"}
print("이름:", me["이름"])
print("취미:", me["취미"])

해설:

  • 키는 문자열(보통), 값은 어떤 자료형이든 가능
  • []로 키를 입력하면 해당 값 출력

7.3 딕셔너리 메서드

  • keys(): 키 목록 반환
  • values(): 값 목록 반환
  • items(): (키, 값) 쌍 반환
  • get(): 키에 해당하는 값 반환 (없는 경우에도 에러 없음)
print(me.keys())
print(me.values())
print(me.get("혈액형", "없음"))

실습 2: 학생 목록 딕셔너리

문제: 학생 2명의 이름과 점수를 저장한 딕셔너리를 만들고 전체 항목을 출력해보세요.

모범답안:

scores = {"지민": 90, "하준": 95}
for name, score in scores.items():
    print(name, "점수:", score)

해설:

  • items()는 반복문과 함께 쓰면 유용함
  • get()을 쓰면 오류 없이 키 조회 가능

7.4 딕셔너리 활용 응용

실습 3: 전화번호부 만들기

문제: 이름을 키로, 전화번호를 값으로 저장하고 검색 기능을 만드세요.

모범답안:

phonebook = {"엄마": "010-1234-5678", "아빠": "010-2345-6789"}
name = input("찾을 이름: ")
print("번호:", phonebook.get(name, "등록되지 않음"))

해설:

  • 사용자 입력과 get() 활용
  • 없는 키는 기본 메시지를 출력함

집합(Set) 이해하기

7.5 집합(set)이란?

  • 중복을 허용하지 않는 데이터 집합
  • 순서 없음, 중괄호 {} 또는 set() 사용
colors = {"빨강", "파랑", "노랑", "파랑"}
print(colors)  # 중복 제거됨

7.6 집합의 연산

  • 합집합 |, 교집합 &, 차집합 -
set1 = {1, 2, 3}
set2 = {3, 4, 5}
print("합집합:", set1 | set2)
print("교집합:", set1 & set2)
print("차집합:", set1 - set2)

실습 4: 중복 제거와 연산

문제:

  1. 리스트 [1,2,2,3,4,4,5]에서 중복을 제거해 출력
  2. 두 집합의 교집합을 구해보세요.

모범답안:

nums = [1,2,2,3,4,4,5]
unique = set(nums)
print("중복 제거:", unique)

a = {1, 2, 3}
b = {2, 3, 4}
print("교집합:", a & b)

해설:

  • set()으로 리스트의 중복 제거 가능
  • &는 두 집합에 모두 포함된 항목 출력

7.7 딕셔너리 + 집합 종합 연습

실습 5: 반 학생 관심사 조사

문제: 각 학생이 좋아하는 과목을 딕셔너리로 저장하고, 전체 과목의 집합을 구해보세요.

모범답안:

likes = {
  "지민": "수학",
  "서윤": "과학",
  "하준": "수학",
  "유진": "역사"
}

subjects = set(likes.values())
print("모든 관심 과목:", subjects)

해설:

  • 딕셔너리의 values() → set()으로 중복 제거

마무리 퀴즈 & 정리

  1. 딕셔너리에서 값을 꺼낼 때 오류 없이 꺼내는 함수는? → get()
  2. 중복 없는 자료를 만들고 싶을 때 사용하는 자료형은? → set(집합)
  3. 딕셔너리와 집합의 차이점은?
    • 딕셔너리: 키-값 쌍 저장
    • 집합: 값만 저장, 중복 없음

다음 시간 예고

**함수(function)**를 배워서 자주 쓰는 작업을 하나로 묶는 방법을 배워볼 거예요!


TechTinkerer's에서 더 알아보기

구독을 신청하면 최신 게시물을 이메일로 받아볼 수 있습니다.

댓글 남기기

  • [Flutter] 타이머 앱 만들기

    Flutter로 간단한 타이머 앱을 생성하고 기능을 구현하는 방법을 설명합니다.

  • Flutter를 사용한 간단한 메모장 앱 만들기

    지난 주 바쁜 일정으로 인해 3주 차 프로젝트가 한 주 늦어지게 업데이트 되었네요 되도록 매 주 같은 시간에 업로드 하려고 하는데 쉽지 않네요…바빠서 업로드 못한거는 핑계고 앞으로 매 주 꾸준히 업로드 하도록 노력하겠습니다. 이분 주차 프로젝트에서는 flutter를 이용해 간단한 메모장 앱을 만들어 보겠습니다.이 앱에서는 메모를 작성하고, 저장하며, 목록에서 메모를 볼 수 있는 기능을 구현해 보겠습니다.…

  • Flutter 상태관리 및 위젯 활용: 계산기 앱 만들기

    이번 주차에는 Flutter를 이용하여 기본적인 기능에 충실한 간단한 계산기 앱을 만들어보겠습니다. 이 앱은 덧셈, 뺄셈, 곱셈, 나눗셈 기능만 가능한 아주 간단한 앱입니다. 이번 프로젝트를 통해 Flutter의 상태관리, 및 기본 위젯을 활용하는 방법을 알아 보겠습니다. 1. 프로젝트 생성 2. Flutter: New Project를 선택하고 프로젝트를 생성할 디렉토리를 선택합니다. 3. 프로젝트 이름을 ‘calcurator_app’으로 입력합니다. 2. 계산기 앱 만들기…

  • 파이썬으로 파일 입출력 기초 배우기

    파일 입출력의 기초를 배우고 실습을 통해 프로그램을 만드는 방법을 익힌다.

  • 파이썬 모듈과 라이브러리 이해하기

    파이썬 모듈 사용법과 라이브러리 개념을 익히고 실습으로 적용한다.

← 뒤로

응답해 주셔서 감사합니다. ✨

TechTinkerer's에서 더 알아보기

지금 구독하여 계속 읽고 전체 아카이브에 액세스하세요.

계속 읽기

TechTinkerer's에서 더 알아보기

지금 구독하여 계속 읽고 전체 아카이브에 액세스하세요.

계속 읽기