ABC부트캠프

[6일차]ABC부트캠프

ideas9064 2025. 7. 13. 21:10

7월 7일 월요일

 

1.딕셔너리와 세트

  • 딕셔너리는 키(key):값(value) 쌍으로 데이터를 저장하는 자료

 

딕셔너리 사용하는 방법

# 딕셔너리 생성
person = {
    "이름": "김철수",
    "나이": 25,
    "직업": "개발자"
}

 

"이름", "나이","직업"은 키(key)

"홍길동",24, "개발자"는 값(value)를 의미하고 { }를 사용하여 만들 수 있습니다.

 

 

딕셔너리 생성 방법 중

dict() 함수를 사용하여 생성할 수 있습니다.

student2 = dict(
    이름="이파이썬",
    나이=22,
    학교="고려대학교",
    전공="데이터사이언스학과",
    학년=3
)

print("두 번째 학생 정보:")
print(student2)
print()

이와 같이 key = value 형식으로 하는 방식은 키가 문자열일 때만 사용 가능하고, 변수명 처럼 쓸 수 있어야 합니다.

 

또 다른 방법으로는 

빈 딕셔너리를 생성 후 값을 추가하는 방식이 있습니다.

student3 = {}
student3["이름"] = "박파이썬"
student3["나이"] = 21
student3["학교"] = "연세대학교"
student3["전공"] = "인공지능학과"
student3["학년"] = 2

print("세 번째 학생 정보:")
print(student3)

 

빈 딕셔너리를 만들고 student3 = {} 값을 student3["key"] = value 넣을 수 있습니다. 

 

딕셔너리의 값을 추가, 수정, 삭제하는 방법

 

추가하기

person = {"name":"이름"}

#새로운 키:값 추가
person = ["age] = 24
person["job"] = "개발자"

print(person)

#결과 {'name': '이름', 'age': 24 ,'job': '개발자'}

딕셔너리의 값을 추가하는 방법은 dict["키"] = 값 형식으로 추가할 수 있습니다.

 

값 수정하기

#기존의 키의 값을 바꾸면 자동으로 수정이 된다.

person["name"] = "피크닉"
person["age"] = 30

print(person)
#결과 :{'name': '피크닉', 'age': 30, 'job': '개발자'}

이미 있는 키에 대해 dict["키"] = 새로운 값 

해서 넣으면 수정이 가능하다.

 

 

get() 메서드

person ={"name" : "이름", "age" : 25}

키가 있으면
print(person.get("name"))  # 출력: 이름

 키가 없으면
 print(person.get("gender", "없음")) # 출력: 없음

 

 

값 삭제하기

-del 키워드 사용

del person["job"]
print(person)

# 결과: {'name': '이몽룡', 'age': 30}

 

-pop()사용

person = {"name": "이름", "age": 25}

result = person.pop("gender", "없음")

print(result)   # 없음 (gender는 없으니까 기본값 반환)
print(person)   # {'name': '이름', 'age': 25} → 아무것도 삭제 안 됨

pop()는 보통 딕셔너리에서 특정 키를 꺼내면서 삭제하는 함수이기에 만약 그 키가 없는데 그냥 사용하면 에러가 날 수 있습니다.

그래서 "없음"처럼 기본값을 지정해주면 에러 없이 기본값이 반환될 수 있습니다.

 

딕셔너리의 주요 메서드

 

 keys() - 모든 키를 가져올 수 있습니다.

menu = {"아메리카노": 4500, "라떼": 5000}
print(menu.keys())

#결과
dict_keys(['아메리카노', '라떼'])

for key in menu.keys()처럼 반복문에 자주 사용가능합니다.

 

 values() - 모든 값을 가져올 수있음

print(menu.values())

#출력값
dict_values([4500, 5000])

총합 계산에 유용할 수 있습니다.

 

 items() - 키-값 쌍으로 가져오기

for key, value in menu.items():
    print(f"{key}의 가격은 {value}원입니다.")

출력값
아메리카노의 가격은 4500원입니다.
라떼의 가격은 5000원입니다.

키와 값을 동시에 다룰 때 유용하다.

 

 update() 메서드로 여러 항목 추가/수정

menu.update({"카푸치노": 5500, "라떼": 5300})
print(menu)
{'아메리카노': 4500, '라떼': 5300, '카푸치노': 5500}

새로 항목을 추가하거나 값 수정도 가능합니다.

 

 setdefault() 메서드 - 키가 없을 때만 추가

menu.setdefault("마키아토", 5800)
menu.setdefault("라떼", 5100)
print(menu)
출력
{'아메리카노': 4500, '라떼': 5300, '카푸치노': 5500, '마키아토': 5800}

키가 없을 때만 추가 이미 있는 키는 무시되고 값이 유지됩니다.


세트(set) 기본 - 중복 제거와 집합 연산

 

set()은 중복을 허용하지 않고, 순서가 없는 자료형이며,

수학에서 집합처럼 동작하며, 중복 제거, 집합 연산 등에 유용하게 쓰입니다.

세트를 만들기 위해선 중괄호를 사용하며 중복된 것은 자동으로 제거가 됩니다.

my_set = {1, 2, 3, 3, 4}
print(my_set) # 결과{1, 2, 3, 4}

 

set() 함수를 사용하면 

 text = "banana"
char_set = set(text)
print(char_set)
#결과
{'b', 'a', 'n'}

 

집합 연산이 가능

a = {1, 2, 3}
b = {3, 4, 5}

print(a | b)   # 합집합: {1, 2, 3, 4, 5}
print(a & b)   # 교집합: {3}
print(a - b)   # 차집합: {1, 2}
print(a ^ b)   # 대칭차집합: {1, 2, 4, 5}

 

.add() - 요소를 추가할 수 있다.

.remove() - 요소를 제거할 수 있다.(없으면 오류)

.discard() - 요소 제거(없어도 오류가 나지 않음)

.clear() - 모두 삭제

.copy() - 복사

 pop() - 임의의 요소 꺼내고 삭제

update() - 여러 요소 한꺼번에 추가

 


hour8 : 함수와 모듈화

 

함수란?

함수는 여러 번 사용할 수 있는 코드 블록

복잡한 코드를 이름 붙여서 재사용하고, 논리적으로 분리할 수 있습니다.

 

함수의 기본 구조

def 함수이름(매개변수):
    실행할 코드
    return 결과값
    
    
def say_hello(name):  # name → 매개변수
    print(f"Hello, {name}")

say_hello("Python")   # "Python" → 인자

 매개변수는 함수 정의할 때 사용

인자는 함수 호출할 때 전달하는 값


모듈

모듈은 함수나 변수, 클래스 등을 모아놓은 .py 파일

필요한 기능을 다른 파일로부터 불러와서 재사용할 수 있음

 

import 모듈명 전체 불러오기 import math
from 모듈 import 항목 특정 함수/변수만 불러오기 from math import sqrt
import 모듈 as 별명 별명 붙이기 import pandas as pd

 


 

 

하루에 너무 많은 것들을 배우다보니 이젠 .. 버거워지기 시작한 것 같습니다 크흠.

물론 아직 노트에 적지 못한 것이 있지만 복습을 더한 후 수정을 해야 할 것 같습니다ㅠㅠ 힘든 하루였다

'ABC부트캠프' 카테고리의 다른 글

[9일차] ABC부트캠프  (0) 2025.07.13
[7일차] ABC부트캠프  (3) 2025.07.13
[5일차]ABC부트캠프_ ESG-day!  (0) 2025.07.06
[4일차] ABC부트캠프  (1) 2025.07.06
[3일차] ABC 부트캠프  (0) 2025.07.06